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
December
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
July 2011
----- 2024 -----
December 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
24 participants
517 discussions
Start a n
N
ew thread
[ion] 52843: [NDK]: Fix Po function prototypes. Also guard against _PO_DDK_ which means caller already has ntpoapi.h.
by ion@svn.reactos.org
Author: ion Date: Sun Jul 24 17:06:50 2011 New Revision: 52843 URL:
http://svn.reactos.org/svn/reactos?rev=52843&view=rev
Log: [NDK]: Fix Po function prototypes. Also guard against _PO_DDK_ which means caller already has ntpoapi.h. Modified: trunk/reactos/include/ndk/pofuncs.h Modified: trunk/reactos/include/ndk/pofuncs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/pofuncs.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/pofuncs.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/pofuncs.h [iso-8859-1] Sun Jul 24 17:06:50 2011 @@ -18,6 +18,7 @@ #ifndef _POFUNCS_H #define _POFUNCS_H +#ifndef _PO_DDK_ // // Dependencies @@ -57,7 +58,7 @@ IN ULONG Flags ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI NtGetDevicePowerState( @@ -65,19 +66,19 @@ IN PDEVICE_POWER_STATE PowerState ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI NtRequestWakeupLatency( IN LATENCY_TIME latency ); -NTSYSAPI +NTSYSCALLAPI BOOLEAN NTAPI NtIsSystemResumeAutomatic(VOID); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI NtSetThreadExecutionState( @@ -85,7 +86,7 @@ OUT EXECUTION_STATE *PreviousFlags ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI NtInitiatePowerAction( @@ -95,21 +96,21 @@ IN BOOLEAN Asynchronous ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI NtRequestDeviceWakeup( IN HANDLE Device ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI NtCancelDeviceWakeupRequest( IN HANDLE Device ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI ZwInitiatePowerAction( @@ -119,7 +120,7 @@ BOOLEAN Asynchronous ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI ZwPowerInformation( @@ -130,7 +131,7 @@ ULONG OutputBufferLength ); -NTSYSAPI +NTSYSCALLAPI NTSTATUS NTAPI ZwSetSystemPowerState( @@ -139,3 +140,4 @@ IN ULONG Flags ); #endif +#endif
13 years, 5 months
1
0
0
0
[ion] 52842: [KERNEL32]: WTSGetActiveConsoleSessionId should return SharedUserData->ActiveConsoleId instead of having its own global.
by ion@svn.reactos.org
Author: ion Date: Sun Jul 24 16:53:19 2011 New Revision: 52842 URL:
http://svn.reactos.org/svn/reactos?rev=52842&view=rev
Log: [KERNEL32]: WTSGetActiveConsoleSessionId should return SharedUserData->ActiveConsoleId instead of having its own global. Modified: trunk/reactos/dll/win32/kernel32/client/session.c Modified: trunk/reactos/dll/win32/kernel32/client/session.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
============================================================================== --- trunk/reactos/dll/win32/kernel32/client/session.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/session.c [iso-8859-1] Sun Jul 24 16:53:19 2011 @@ -1,59 +1,45 @@ -/* $Id$ - * - * COPYRIGHT: See COPYING in the top level directory - * PROJECT: ReactOS system libraries - * FILE: lib/kernel32/proc/session.c - * PURPOSE: Win32 session (TS) functions - * PROGRAMMER: Emanuele Aliberti - * UPDATE HISTORY: - * 2001-12-07 created +/* + * PROJECT: ReactOS Win32 Base API + * LICENSE: GPL - See COPYING in the top level directory + * FILE: dll/win32/kernel32/client/session.c + * PURPOSE: Session Support APIs + * PROGRAMMERS: Alex Ionescu (alex.ionescu(a)reactos.org) */ + +/* INCLUDES *******************************************************************/ + #include <k32.h> + #define NDEBUG #include <debug.h> -//DEBUG_CHANNEL(kernel32session); not actually used -DWORD ActiveConsoleSessionId = 0; - +/* FUNCTIONS ******************************************************************/ /* * @unimplemented */ DWORD WINAPI -DosPathToSessionPathW(DWORD SessionID, - LPWSTR InPath, - LPWSTR *OutPath) +DosPathToSessionPathW(IN DWORD SessionID, + IN LPWSTR InPath, + OUT LPWSTR *OutPath) { UNIMPLEMENTED; return 0; } /* - * From: ActiveVB.DE - * - * Declare Function DosPathToSessionPath _ - * Lib "kernel32.dll" _ - * Alias "DosPathToSessionPathA" ( _ - * ByVal SessionId As Long, _ - * ByVal pInPath As String, _ - * ByVal ppOutPath As String ) _ - * As Long - * * @unimplemented */ DWORD WINAPI -DosPathToSessionPathA(DWORD SessionId, - LPSTR InPath, - LPSTR *OutPath) +DosPathToSessionPathA(IN DWORD SessionId, + IN LPSTR InPath, + OUT LPSTR *OutPath) { - //DosPathToSessionPathW (SessionId,InPathW,OutPathW); UNIMPLEMENTED; return 0; } - - /* * @implemented @@ -62,7 +48,7 @@ WINAPI WTSGetActiveConsoleSessionId(VOID) { - return ActiveConsoleSessionId; + return SharedUserData->ActiveConsoleId; } /* EOF */
13 years, 5 months
1
0
0
0
[ion] 52841: [NDK]: Add missing native power functions. [KERNEL32]: Cleanup the power APIs. Fix calculation of battery percentage in GetSystemPowerStatus.
by ion@svn.reactos.org
Author: ion Date: Sun Jul 24 16:50:03 2011 New Revision: 52841 URL:
http://svn.reactos.org/svn/reactos?rev=52841&view=rev
Log: [NDK]: Add missing native power functions. [KERNEL32]: Cleanup the power APIs. Fix calculation of battery percentage in GetSystemPowerStatus. Modified: trunk/reactos/dll/win32/kernel32/client/power.c trunk/reactos/include/ndk/pofuncs.h Modified: trunk/reactos/dll/win32/kernel32/client/power.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
============================================================================== --- trunk/reactos/dll/win32/kernel32/client/power.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/power.c [iso-8859-1] Sun Jul 24 16:50:03 2011 @@ -15,59 +15,6 @@ #define NDEBUG #include <debug.h> - -NTSYSAPI -NTSTATUS -NTAPI -NtGetDevicePowerState( - IN HANDLE Device, - IN PDEVICE_POWER_STATE PowerState -); - -NTSYSAPI -NTSTATUS -NTAPI -NtRequestWakeupLatency( - IN LATENCY_TIME latency -); - -NTSYSAPI -BOOLEAN -NTAPI -NtIsSystemResumeAutomatic(VOID); - -NTSYSAPI -NTSTATUS -NTAPI -NtSetThreadExecutionState( - IN EXECUTION_STATE esFlags, - OUT EXECUTION_STATE *PreviousFlags -); - -NTSYSAPI -NTSTATUS -NTAPI -NtInitiatePowerAction( - IN POWER_ACTION SystemAction, - IN SYSTEM_POWER_STATE MinSystemState, - IN ULONG Flags, - IN BOOLEAN Asynchronous -); - -NTSYSAPI -NTSTATUS -NTAPI -NtRequestDeviceWakeup( - IN HANDLE Device -); - -NTSYSAPI -NTSTATUS -NTAPI -NtCancelDeviceWakeupRequest( - IN HANDLE Device -); - /* PUBLIC FUNCTIONS ***********************************************************/ /* @@ -75,15 +22,16 @@ */ BOOL WINAPI -GetSystemPowerStatus(LPSYSTEM_POWER_STATUS PowerStatus) -{ - NTSTATUS Status; - SYSTEM_BATTERY_STATE SysBatState; +GetSystemPowerStatus(IN LPSYSTEM_POWER_STATUS PowerStatus) +{ + NTSTATUS Status; + SYSTEM_BATTERY_STATE BattState; + ULONG Max, Current; Status = NtPowerInformation(SystemBatteryState, NULL, 0, - &SysBatState, + &BattState, sizeof(SYSTEM_BATTERY_STATE)); if (!NT_SUCCESS(Status)) @@ -96,83 +44,77 @@ PowerStatus->BatteryLifeTime = BATTERY_LIFE_UNKNOWN; PowerStatus->BatteryFullLifeTime = BATTERY_LIFE_UNKNOWN; - PowerStatus->BatteryLifePercent = BATTERY_PERCENTAGE_UNKNOWN; - if (SysBatState.MaxCapacity) - { - if (SysBatState.MaxCapacity >= SysBatState.RemainingCapacity) - PowerStatus->BatteryLifePercent = (SysBatState.RemainingCapacity / SysBatState.MaxCapacity) * 100; + PowerStatus->ACLineStatus = AC_LINE_ONLINE; + + Max = BattState.MaxCapacity; + Current = BattState.RemainingCapacity; + if (Max) + { + if (Current <= Max) + { + PowerStatus->BatteryLifePercent = (100 * Current + Max / 2) / Max; + } else - PowerStatus->BatteryLifePercent = 100; /* 100% */ - - if (PowerStatus->BatteryLifePercent <= 32) - PowerStatus->BatteryFlag |= BATTERY_FLAG_LOW; - - if (PowerStatus->BatteryLifePercent >= 67) - PowerStatus->BatteryFlag |= BATTERY_FLAG_HIGH; - } - - if (!SysBatState.BatteryPresent) - PowerStatus->BatteryFlag |= BATTERY_FLAG_NO_BATTERY; - - if (SysBatState.Charging) - PowerStatus->BatteryFlag |= BATTERY_FLAG_CHARGING; - - if (!SysBatState.AcOnLine && SysBatState.BatteryPresent) - PowerStatus->ACLineStatus = AC_LINE_OFFLINE; - else - PowerStatus->ACLineStatus = AC_LINE_ONLINE; - - if (SysBatState.EstimatedTime) - PowerStatus->BatteryLifeTime = SysBatState.EstimatedTime; - - return TRUE; -} - -/* - * @implemented - */ -BOOL WINAPI -SetSystemPowerState(BOOL fSuspend, BOOL fForce) -{ - SYSTEM_POWER_STATE MinSystemState = (!fSuspend ? PowerSystemHibernate : PowerSystemSleeping1); - ULONG Flags = (!fForce ? POWER_ACTION_QUERY_ALLOWED : 0); + { + PowerStatus->BatteryLifePercent = 100; + } + + if (PowerStatus->BatteryLifePercent <= 32) PowerStatus->BatteryFlag |= BATTERY_FLAG_LOW; + if (PowerStatus->BatteryLifePercent >= 67) PowerStatus->BatteryFlag |= BATTERY_FLAG_HIGH; + } + + if (!BattState.BatteryPresent) PowerStatus->BatteryFlag |= BATTERY_FLAG_NO_BATTERY; + + if (BattState.Charging) PowerStatus->BatteryFlag |= BATTERY_FLAG_CHARGING; + + if (!(BattState.AcOnLine) && (BattState.BatteryPresent)) PowerStatus->ACLineStatus = AC_LINE_OFFLINE; + + if (BattState.EstimatedTime) PowerStatus->BatteryLifeTime = BattState.EstimatedTime; + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +SetSystemPowerState(IN BOOL fSuspend, + IN BOOL fForce) +{ NTSTATUS Status; Status = NtInitiatePowerAction(PowerActionSleep, - MinSystemState, - Flags, + (fSuspend != FALSE) ? + PowerSystemSleeping1 : PowerSystemHibernate, + fForce != TRUE, FALSE); - - if (!NT_SUCCESS(Status)) - { - BaseSetLastNTError(Status); - return FALSE; - } - - return TRUE; -} - -/* - * @implemented - */ -BOOL -WINAPI -GetDevicePowerState(HANDLE hDevice, BOOL *pfOn) + if (!NT_SUCCESS(Status)) + { + BaseSetLastNTError(Status); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +GetDevicePowerState(IN HANDLE hDevice, + OUT BOOL *pfOn) { DEVICE_POWER_STATE DevicePowerState; NTSTATUS Status; Status = NtGetDevicePowerState(hDevice, &DevicePowerState); - if (NT_SUCCESS(Status)) { - if ((DevicePowerState != PowerDeviceUnspecified) && - (DevicePowerState != PowerDeviceD0)) - *pfOn = FALSE; - else - *pfOn = TRUE; - + *pfOn = (DevicePowerState == PowerDeviceUnspecified) || + (DevicePowerState == PowerDeviceD0); return TRUE; } @@ -185,52 +127,49 @@ */ BOOL WINAPI -RequestDeviceWakeup(HANDLE hDevice) +RequestDeviceWakeup(IN HANDLE hDevice) { NTSTATUS Status; Status = NtRequestDeviceWakeup(hDevice); - - if (!NT_SUCCESS(Status)) - { - BaseSetLastNTError(Status); - return FALSE; - } - - return TRUE; -} - -/* - * @implemented - */ -BOOL -WINAPI -RequestWakeupLatency(LATENCY_TIME latency) + if (!NT_SUCCESS(Status)) + { + BaseSetLastNTError(Status); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +RequestWakeupLatency(IN LATENCY_TIME latency) { NTSTATUS Status; Status = NtRequestWakeupLatency(latency); - - if (!NT_SUCCESS(Status)) - { - BaseSetLastNTError(Status); - return FALSE; - } - - return TRUE; -} - -/* - * @implemented - */ -BOOL -WINAPI -CancelDeviceWakeupRequest(HANDLE hDevice) + if (!NT_SUCCESS(Status)) + { + BaseSetLastNTError(Status); + return FALSE; + } + + return TRUE; +} + +/* + * @implemented + */ +BOOL +WINAPI +CancelDeviceWakeupRequest(IN HANDLE hDevice) { NTSTATUS Status; Status = NtCancelDeviceWakeupRequest(hDevice); - if (!NT_SUCCESS(Status)) { BaseSetLastNTError(Status); @@ -247,7 +186,7 @@ WINAPI IsSystemResumeAutomatic(VOID) { - return NtIsSystemResumeAutomatic(); + return (BOOL)NtIsSystemResumeAutomatic(); } /* @@ -258,6 +197,7 @@ SetMessageWaitingIndicator(IN HANDLE hMsgIndicator, IN ULONG ulMsgCount) { + /* This is the correct Windows implementation */ SetLastError(ERROR_CALL_NOT_IMPLEMENTED); return 0; } @@ -269,16 +209,14 @@ WINAPI SetThreadExecutionState(EXECUTION_STATE esFlags) { - EXECUTION_STATE OldFlags; - NTSTATUS Status; - - Status = NtSetThreadExecutionState(esFlags, &OldFlags); - + NTSTATUS Status; + + Status = NtSetThreadExecutionState(esFlags, &esFlags); if (!NT_SUCCESS(Status)) { BaseSetLastNTError(Status); return 0; } - return OldFlags; -} + return esFlags; +} Modified: trunk/reactos/include/ndk/pofuncs.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ndk/pofuncs.h?rev=…
============================================================================== --- trunk/reactos/include/ndk/pofuncs.h [iso-8859-1] (original) +++ trunk/reactos/include/ndk/pofuncs.h [iso-8859-1] Sun Jul 24 16:50:03 2011 @@ -60,6 +60,58 @@ NTSYSAPI NTSTATUS NTAPI +NtGetDevicePowerState( + IN HANDLE Device, + IN PDEVICE_POWER_STATE PowerState +); + +NTSYSAPI +NTSTATUS +NTAPI +NtRequestWakeupLatency( + IN LATENCY_TIME latency +); + +NTSYSAPI +BOOLEAN +NTAPI +NtIsSystemResumeAutomatic(VOID); + +NTSYSAPI +NTSTATUS +NTAPI +NtSetThreadExecutionState( + IN EXECUTION_STATE esFlags, + OUT EXECUTION_STATE *PreviousFlags +); + +NTSYSAPI +NTSTATUS +NTAPI +NtInitiatePowerAction( + IN POWER_ACTION SystemAction, + IN SYSTEM_POWER_STATE MinSystemState, + IN ULONG Flags, + IN BOOLEAN Asynchronous +); + +NTSYSAPI +NTSTATUS +NTAPI +NtRequestDeviceWakeup( + IN HANDLE Device +); + +NTSYSAPI +NTSTATUS +NTAPI +NtCancelDeviceWakeupRequest( + IN HANDLE Device +); + +NTSYSAPI +NTSTATUS +NTAPI ZwInitiatePowerAction( POWER_ACTION SystemAction, SYSTEM_POWER_STATE MinSystemState,
13 years, 5 months
1
0
0
0
[jgardou] 52840: [CRT] - get back atexit handling as it was before. (reverts 52838, 52829, 52828) Thanks to Kai and Timo for the explanation
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 24 16:45:41 2011 New Revision: 52840 URL:
http://svn.reactos.org/svn/reactos?rev=52840&view=rev
Log: [CRT] - get back atexit handling as it was before. (reverts 52838, 52829, 52828) Thanks to Kai and Timo for the explanation Modified: trunk/reactos/dll/win32/msvcrt/msvcrt.spec trunk/reactos/dll/win32/msvcrt20/msvcrt20.spec trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec trunk/reactos/lib/3rdparty/mingw/crtexe.c trunk/reactos/lib/3rdparty/mingw/mingw.rbuild trunk/reactos/lib/sdk/crt/msvcrtex.cmake trunk/reactos/lib/sdk/crt/startup/crtdll.c trunk/reactos/lib/sdk/crt/startup/crtexe.c 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] Sun Jul 24 16:45:41 2011 @@ -1156,7 +1156,7 @@ @ cdecl asin(double) @ cdecl atan(double) @ cdecl atan2(double double) -@ cdecl atexit(ptr) +@ extern atexit # <-- keep this as an extern, thank you @ cdecl atof(str) @ cdecl atoi(str) @ cdecl atol(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] Sun Jul 24 16:45:41 2011 @@ -937,7 +937,7 @@ @ cdecl asin(double) @ cdecl atan(double) @ cdecl atan2(double double) -@ cdecl atexit(ptr) +@ extern atexit # <-- do not touch this! @ cdecl atof(str) @ cdecl atoi(str) @ cdecl atol(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] Sun Jul 24 16:45:41 2011 @@ -975,7 +975,7 @@ @ cdecl asin(double) @ cdecl atan(double) @ cdecl atan2(double double) -@ cdecl atexit(ptr) +@ extern atexit # <-- changing this will kill your cat, understand? @ cdecl atof(str) @ cdecl atoi(str) @ cdecl atol(str) Modified: trunk/reactos/lib/3rdparty/mingw/crtexe.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/mingw/crtexe.…
============================================================================== --- trunk/reactos/lib/3rdparty/mingw/crtexe.c [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/mingw/crtexe.c [iso-8859-1] Sun Jul 24 16:45:41 2011 @@ -71,8 +71,8 @@ /* TLS initialization hook. */ extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback; -//extern _PVFV *__onexitbegin; -//extern _PVFV *__onexitend; +extern _PVFV *__onexitbegin; +extern _PVFV *__onexitend; extern int mingw_app_type; @@ -119,7 +119,7 @@ __set_app_type(_GUI_APP); else __set_app_type (_CONSOLE_APP); -// __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1)); + __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1)); * __MINGW_IMP_SYMBOL(_fmode) = _fmode; * __MINGW_IMP_SYMBOL(_commode) = _commode; Modified: trunk/reactos/lib/3rdparty/mingw/mingw.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/3rdparty/mingw/mingw.r…
============================================================================== --- trunk/reactos/lib/3rdparty/mingw/mingw.rbuild [iso-8859-1] (original) +++ trunk/reactos/lib/3rdparty/mingw/mingw.rbuild [iso-8859-1] Sun Jul 24 16:45:41 2011 @@ -12,7 +12,7 @@ <include base="ReactOS">include/reactos/mingw-w64</include> <library>kernel32</library> <file>_newmode.c</file> - <!--file>atonexit.c</file--> + <file>atonexit.c</file> <file>binmode.c</file> <file>charmax.c</file> <file>cinitexe.c</file> Modified: trunk/reactos/lib/sdk/crt/msvcrtex.cmake URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/msvcrtex.cmake…
============================================================================== --- trunk/reactos/lib/sdk/crt/msvcrtex.cmake [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/msvcrtex.cmake [iso-8859-1] Sun Jul 24 16:45:41 2011 @@ -17,7 +17,7 @@ startup/natstart.c startup/charmax.c startup/merr.c -# startup/atonexit.c + startup/atonexit.c startup/txtmode.c startup/pesect.c startup/tlsmcrt.c Modified: trunk/reactos/lib/sdk/crt/startup/crtdll.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/startup/crtdll…
============================================================================== --- trunk/reactos/lib/sdk/crt/startup/crtdll.c [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/startup/crtdll.c [iso-8859-1] Sun Jul 24 16:45:41 2011 @@ -49,8 +49,8 @@ static int __proc_attached = 0; -//extern _PVFV *__onexitbegin; -//extern _PVFV *__onexitend; +extern _PVFV *__onexitbegin; +extern _PVFV *__onexitend; extern int mingw_app_type; @@ -65,7 +65,7 @@ static int pre_c_init (void) { -/* _PVFV *onexitbegin; + _PVFV *onexitbegin; onexitbegin = (_PVFV *) malloc (32 * sizeof (_PVFV)); __onexitend = __onexitbegin = (_PVFV *) _encode_pointer (onexitbegin); @@ -73,8 +73,7 @@ if (onexitbegin == NULL) return 1; *onexitbegin = (_PVFV) NULL; - return 0;*/ - return 1; + return 0; } WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) @@ -136,7 +135,7 @@ _amsg_exit (31); } else - {/* + { _PVFV * onexitbegin = (_PVFV *) _decode_pointer (__onexitbegin); if (onexitbegin) { @@ -146,7 +145,7 @@ (**onexitend) (); free (onexitbegin); __onexitbegin = __onexitend = (_PVFV *) NULL; - }*/ + } __native_startup_state = __uninitialized; (void) InterlockedExchangePointer ((volatile PVOID *) &__native_startup_lock, 0); } Modified: trunk/reactos/lib/sdk/crt/startup/crtexe.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/startup/crtexe…
============================================================================== --- trunk/reactos/lib/sdk/crt/startup/crtexe.c [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/startup/crtexe.c [iso-8859-1] Sun Jul 24 16:45:41 2011 @@ -75,8 +75,8 @@ /* TLS initialization hook. */ extern const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback; -//extern _PVFV *__onexitbegin; -//extern _PVFV *__onexitend; +extern _PVFV *__onexitbegin; +extern _PVFV *__onexitend; extern int mingw_app_type; @@ -128,7 +128,7 @@ __set_app_type(_GUI_APP); else __set_app_type (_CONSOLE_APP); -// __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1)); + __onexitbegin = __onexitend = (_PVFV *) _encode_pointer ((_PVFV *)(-1)); * __MINGW_IMP_SYMBOL(_fmode) = _fmode; * __MINGW_IMP_SYMBOL(_commode) = _commode;
13 years, 5 months
1
0
0
0
[dgorbachev] 52839: [Win32k] DbgLogEvent: replace EVENT_TYPE by LOG_EVENT_TYPE (spotted by GCC 4.6).
by dgorbachev@svn.reactos.org
Author: dgorbachev Date: Sun Jul 24 16:17:55 2011 New Revision: 52839 URL:
http://svn.reactos.org/svn/reactos?rev=52839&view=rev
Log: [Win32k] DbgLogEvent: replace EVENT_TYPE by LOG_EVENT_TYPE (spotted by GCC 4.6). Modified: trunk/reactos/subsystems/win32/win32k/include/gdidebug.h trunk/reactos/subsystems/win32/win32k/objects/gdidbg.c Modified: trunk/reactos/subsystems/win32/win32k/include/gdidebug.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/in…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/include/gdidebug.h [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/include/gdidebug.h [iso-8859-1] Sun Jul 24 16:17:55 2011 @@ -30,7 +30,7 @@ #if DBG_ENABLE_EVENT_LOGGING VOID NTAPI DbgDumpEventList(PSLIST_HEADER pslh); -VOID NTAPI DbgLogEvent(PSLIST_HEADER pslh, EVENT_TYPE nEventType, LPARAM lParam); +VOID NTAPI DbgLogEvent(PSLIST_HEADER pslh, LOG_EVENT_TYPE nEventType, LPARAM lParam); VOID NTAPI DbgCleanupEventList(PSLIST_HEADER pslh); #define DBG_LOGEVENT(pslh, type, val) DbgLogEvent(pslh, type, (ULONG_PTR)val) #define DBG_INITLOG(pslh) InitializeSListHead(pslh) Modified: trunk/reactos/subsystems/win32/win32k/objects/gdidbg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/ob…
============================================================================== --- trunk/reactos/subsystems/win32/win32k/objects/gdidbg.c [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/objects/gdidbg.c [iso-8859-1] Sun Jul 24 16:17:55 2011 @@ -305,7 +305,7 @@ VOID NTAPI -DbgLogEvent(PSLIST_HEADER pslh, EVENT_TYPE nEventType, LPARAM lParam) +DbgLogEvent(PSLIST_HEADER pslh, LOG_EVENT_TYPE nEventType, LPARAM lParam) { PLOGENTRY pLogEntry;
13 years, 5 months
1
0
0
0
[dgorbachev] 52838: Save the project from possession by evil spirits.
by dgorbachev@svn.reactos.org
Author: dgorbachev Date: Sun Jul 24 16:17:32 2011 New Revision: 52838 URL:
http://svn.reactos.org/svn/reactos?rev=52838&view=rev
Log: Save the project from possession by evil spirits. Modified: trunk/reactos/base/services/telnetd/telnetd.rc trunk/reactos/boot/bootdata/hivesys_amd64.inf trunk/reactos/boot/bootdata/hivesys_i386.inf Modified: trunk/reactos/base/services/telnetd/telnetd.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/services/telnetd/teln…
============================================================================== --- trunk/reactos/base/services/telnetd/telnetd.rc [iso-8859-1] (original) +++ trunk/reactos/base/services/telnetd/telnetd.rc [iso-8859-1] Sun Jul 24 16:17:32 2011 @@ -1,6 +1,6 @@ /* $Id$ */ -#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Simple Telnet Deamon\0" +#define REACTOS_STR_FILE_DESCRIPTION "ReactOS Simple Telnet Service\0" #define REACTOS_STR_INTERNAL_NAME "telnetd\0" #define REACTOS_STR_ORIGINAL_FILENAME "telnetd.exe\0" #define REACTOS_STR_ORIGINAL_COPYRIGHT "fred.van.lieshout 'at' zonnet.nl\0" Modified: trunk/reactos/boot/bootdata/hivesys_amd64.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys_amd6…
============================================================================== --- trunk/reactos/boot/bootdata/hivesys_amd64.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys_amd64.inf [iso-8859-1] Sun Jul 24 16:17:32 2011 @@ -1348,9 +1348,9 @@ HKLM,"SYSTEM\CurrentControlSet\Services\tcpsvcs","Start",0x00010001,0x00000003 HKLM,"SYSTEM\CurrentControlSet\Services\tcpsvcs","Type",0x00010001,0x00000020 -; ReactOS Telnet Daemon -HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","Description",0x00000000,"ReactOS Telnet Daemon" -HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","DisplayName",0x00000000,"ReactOS Telnet Daemon" +; ReactOS Telnet Service +HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","Description",0x00000000,"ReactOS Telnet Service" +HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","DisplayName",0x00000000,"ReactOS Telnet Service" HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","ErrorControl",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","Group",0x00000000,"Network" HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","ImagePath",0x00020000,"%SystemRoot%\system32\telnetd.exe" Modified: trunk/reactos/boot/bootdata/hivesys_i386.inf URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/boot/bootdata/hivesys_i386…
============================================================================== --- trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] (original) +++ trunk/reactos/boot/bootdata/hivesys_i386.inf [iso-8859-1] Sun Jul 24 16:17:32 2011 @@ -1641,9 +1641,9 @@ HKLM,"SYSTEM\CurrentControlSet\Services\tcpsvcs","Start",0x00010001,0x00000003 HKLM,"SYSTEM\CurrentControlSet\Services\tcpsvcs","Type",0x00010001,0x00000020 -; ReactOS Telnet Daemon -HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","Description",0x00000000,"ReactOS Telnet Daemon" -HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","DisplayName",0x00000000,"ReactOS Telnet Daemon" +; ReactOS Telnet Service +HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","Description",0x00000000,"ReactOS Telnet Service" +HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","DisplayName",0x00000000,"ReactOS Telnet Service" HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","ErrorControl",0x00010001,0x00000001 HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","Group",0x00000000,"Network" HKLM,"SYSTEM\CurrentControlSet\Services\telnetd","ImagePath",0x00020000,"%SystemRoot%\system32\telnetd.exe"
13 years, 5 months
1
0
0
0
[jgardou] 52837: [KERNEL32] - release PEB lock for each code path
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 24 14:57:14 2011 New Revision: 52837 URL:
http://svn.reactos.org/svn/reactos?rev=52837&view=rev
Log: [KERNEL32] - release PEB lock for each code path Modified: trunk/reactos/dll/win32/kernel32/client/thread.c Modified: trunk/reactos/dll/win32/kernel32/client/thread.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
============================================================================== --- trunk/reactos/dll/win32/kernel32/client/thread.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/kernel32/client/thread.c [iso-8859-1] Sun Jul 24 14:57:14 2011 @@ -1065,6 +1065,7 @@ if (!NT_SUCCESS(Status)) { BaseSetLastNTError(STATUS_INVALID_PARAMETER); + RtlReleasePebLock(); return FALSE; } @@ -1075,10 +1076,12 @@ { /* Fail */ BaseSetLastNTError(STATUS_INVALID_PARAMETER); + RtlReleasePebLock(); return FALSE; } /* Done! */ + RtlReleasePebLock(); return TRUE; }
13 years, 5 months
1
0
0
0
[jgardou] 52836: [MSVCRTEX] - I say let msvcrt handle atexit registered functions. Fix msvc build
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 24 14:37:28 2011 New Revision: 52836 URL:
http://svn.reactos.org/svn/reactos?rev=52836&view=rev
Log: [MSVCRTEX] - I say let msvcrt handle atexit registered functions. Fix msvc build Modified: trunk/reactos/lib/sdk/crt/startup/crtdll.c Modified: trunk/reactos/lib/sdk/crt/startup/crtdll.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/lib/sdk/crt/startup/crtdll…
============================================================================== --- trunk/reactos/lib/sdk/crt/startup/crtdll.c [iso-8859-1] (original) +++ trunk/reactos/lib/sdk/crt/startup/crtdll.c [iso-8859-1] Sun Jul 24 14:37:28 2011 @@ -49,8 +49,8 @@ static int __proc_attached = 0; -extern _PVFV *__onexitbegin; -extern _PVFV *__onexitend; +//extern _PVFV *__onexitbegin; +//extern _PVFV *__onexitend; extern int mingw_app_type; @@ -65,7 +65,7 @@ static int pre_c_init (void) { - _PVFV *onexitbegin; +/* _PVFV *onexitbegin; onexitbegin = (_PVFV *) malloc (32 * sizeof (_PVFV)); __onexitend = __onexitbegin = (_PVFV *) _encode_pointer (onexitbegin); @@ -73,7 +73,8 @@ if (onexitbegin == NULL) return 1; *onexitbegin = (_PVFV) NULL; - return 0; + return 0;*/ + return 1; } WINBOOL WINAPI _CRT_INIT (HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved) @@ -135,7 +136,7 @@ _amsg_exit (31); } else - { + {/* _PVFV * onexitbegin = (_PVFV *) _decode_pointer (__onexitbegin); if (onexitbegin) { @@ -145,7 +146,7 @@ (**onexitend) (); free (onexitbegin); __onexitbegin = __onexitend = (_PVFV *) NULL; - } + }*/ __native_startup_state = __uninitialized; (void) InterlockedExchangePointer ((volatile PVOID *) &__native_startup_lock, 0); }
13 years, 5 months
1
0
0
0
[jgardou] 52835: [MSVCRT40] - static link to crt, correct base address qnd entry point, etc... See change log of MSVCRT20 for details.
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 24 13:31:11 2011 New Revision: 52835 URL:
http://svn.reactos.org/svn/reactos?rev=52835&view=rev
Log: [MSVCRT40] - static link to crt, correct base address qnd entry point, etc... See change log of MSVCRT20 for details. Added: trunk/reactos/dll/win32/msvcrt40/stubs.c (with props) Modified: trunk/reactos/dll/win32/msvcrt40/CMakeLists.txt trunk/reactos/dll/win32/msvcrt40/msvcrt40.c trunk/reactos/dll/win32/msvcrt40/msvcrt40.rbuild trunk/reactos/dll/win32/msvcrt40/msvcrt40.spec 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] Sun Jul 24 13:31:11 2011 @@ -1,22 +1,34 @@ -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +add_definitions( + -DUSE_MSVCRT_PREFIX + -D_MSVCRT_ + -D_MSVCRT_LIB_ + -D_MT + -D_CTYPE_DISABLE_MACROS + -D_NO_INLINING + -DCRTDLL + -D__MINGW_IMPORT="") -add_definitions(-D__WINESRC__) -add_definitions(-DCRTDLL) +include_directories(${REACTOS_SOURCE_DIR}/lib/sdk/crt/include) spec2def(msvcrt40.dll msvcrt40.spec) list(APPEND SOURCE msvcrt40.c + stubs.c ${CMAKE_CURRENT_BINARY_DIR}/msvcrt40_stubs.c ${CMAKE_CURRENT_BINARY_DIR}/msvcrt40.def) add_library(msvcrt40 SHARED ${SOURCE}) +set_image_base(msvcrt40 ${baseaddress_msvcrt40}) +set_entrypoint(msvcrt40 DllMain@12) -set_module_type(msvcrt40 win32dll) +target_link_libraries(msvcrt40 crt wine) -target_link_libraries(msvcrt40 wine) +if(NOT MSVC) + target_link_libraries(msvcrt40 pseh) +endif() -add_importlibs(msvcrt40 msvcrt kernel32 ntdll) +add_importlibs(msvcrt40 kernel32 ntdll) add_cd_file(TARGET msvcrt40 DESTINATION reactos/system32 FOR all) Modified: trunk/reactos/dll/win32/msvcrt40/msvcrt40.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/msvcrt4…
============================================================================== --- trunk/reactos/dll/win32/msvcrt40/msvcrt40.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt40/msvcrt40.c [iso-8859-1] Sun Jul 24 13:31:11 2011 @@ -17,23 +17,136 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + +#include <stdio.h> +#define _CRT_PRECOMP_H +#include <internal/tls.h> +#include <stdlib.h> +#include <windows.h> +#include <internal/wine/msvcrt.h> +#include <locale.h> +#include <mbctype.h> -#include <stdarg.h> +#include "wine/debug.h" +WINE_DEFAULT_DEBUG_CHANNEL(msvcrt); -#include "windef.h" -#include "winbase.h" +/* EXTERNAL PROTOTYPES ********************************************************/ -BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved ) +extern int BlockEnvToEnvironA(void); +extern int BlockEnvToEnvironW(void); +extern void FreeEnvironment(char **environment); +extern void _atexit_cleanup(void); + +extern unsigned int _osplatform; +extern unsigned int _osver; +extern unsigned int _winminor; +extern unsigned int _winmajor; +extern unsigned int _winver; + +extern char* _acmdln; /* pointer to ascii command line */ +extern wchar_t* _wcmdln; /* pointer to wide character command line */ +#undef _environ +extern char** _environ; /* pointer to environment block */ +extern char** __initenv; /* pointer to initial environment block */ +extern wchar_t** _wenviron; /* pointer to environment block */ +extern wchar_t** __winitenv; /* pointer to initial environment block */ + + +/* LIBRARY GLOBAL VARIABLES ***************************************************/ + +HANDLE hHeap = NULL; /* handle for heap */ + + +/* LIBRARY ENTRY POINT ********************************************************/ + +BOOL +WINAPI +DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) { - switch (reason) - { - case DLL_WINE_PREATTACH: - return FALSE; /* prefer native version */ - case DLL_PROCESS_ATTACH: - DisableThreadLibraryCalls( inst ); - break; + OSVERSIONINFOW osvi; + switch (dwReason) + { + case DLL_PROCESS_ATTACH://1 + /* initialize version info */ + //DPRINT1("Process Attach %d\n", nAttachCount); + //DPRINT1("Process Attach\n"); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionExW( &osvi ); + _winver = (osvi.dwMajorVersion << 8) | osvi.dwMinorVersion; + _winmajor = osvi.dwMajorVersion; + _winminor = osvi.dwMinorVersion; + _osplatform = osvi.dwPlatformId; + _osver = osvi.dwBuildNumber; + hHeap = HeapCreate(0, 100000, 0); + if (hHeap == NULL) + return FALSE; + + /* create tls stuff */ + if (!CreateThreadData()) + return FALSE; + + if (BlockEnvToEnvironA() < 0) + return FALSE; + + if (BlockEnvToEnvironW() < 0) + { + FreeEnvironment(_environ); + return FALSE; + } + + _acmdln = _strdup(GetCommandLineA()); + _wcmdln = _wcsdup(GetCommandLineW()); + + /* FIXME: more initializations... */ + + /* Initialization of the WINE code */ + msvcrt_init_mt_locks(); + msvcrt_init_io(); + setlocale(0, "C"); + //_setmbcp(_MB_CP_LOCALE); + + TRACE("Attach done\n"); + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + FreeThreadData(NULL); + break; + case DLL_PROCESS_DETACH: + //DPRINT1("Detach %d\n", nAttachCount); + //DPRINT("Detach\n"); + /* FIXME: more cleanup... */ + /* Deinit of the WINE code */ + msvcrt_free_io(); + msvcrt_free_mt_locks(); + + _atexit_cleanup(); + + + /* destroy tls stuff */ + DestroyThreadData(); + + if (__winitenv && __winitenv != _wenviron) + FreeEnvironment((char**)__winitenv); + if (_wenviron) + FreeEnvironment((char**)_wenviron); + + if (__initenv && __initenv != _environ) + FreeEnvironment(__initenv); + if (_environ) + FreeEnvironment(_environ); + + /* destroy heap */ + HeapDestroy(hHeap); + + TRACE("Detach done\n"); break; - } - return TRUE; + } + + return TRUE; } + +/* EOF */ Modified: trunk/reactos/dll/win32/msvcrt40/msvcrt40.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/msvcrt4…
============================================================================== --- trunk/reactos/dll/win32/msvcrt40/msvcrt40.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt40/msvcrt40.rbuild [iso-8859-1] Sun Jul 24 13:31:11 2011 @@ -4,10 +4,18 @@ <module name="msvcrt40" type="win32dll" baseaddress="${BASEADDRESS_MSVCRT40}" installbase="system32" installname="msvcrt40.dll" iscrt="yes"> <importlibrary definition="msvcrt40.spec" /> <include base="msvcrt40">.</include> - <include base="ReactOS">include/reactos/wine</include> - <define name="__WINESRC__" /> + <include base="crt">include</include> + <define name="USE_MSVCRT_PREFIX" /> + <define name="_MSVCRT_" /> + <define name="_MSVCRT_LIB_" /> + <define name="_MT" /> + <define name="_CTYPE_DISABLE_MACROS" /> + <define name="_NO_INLINING" /> <define name="CRTDLL" /> <file>msvcrt40.c</file> + <file>stubs.c</file> <library>wine</library> + <library>crt</library> + <library>pseh</library> </module> </group> 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] Sun Jul 24 13:31:11 2011 @@ -1,14 +1,14 @@ @ stub ??0Iostream_init@@QAE@AAVios@@H@Z @ stub ??0Iostream_init@@QAE@XZ -@ cdecl -i386 ??0__non_rtti_object@@QAE@ABV0@@Z(ptr) msvcrt.??0__non_rtti_object@@QAE@ABV0@@Z -@ cdecl -i386 ??0__non_rtti_object@@QAE@PBD@Z(ptr) msvcrt.??0__non_rtti_object@@QAE@PBD@Z -@ cdecl -i386 ??0bad_cast@@QAE@ABQBD@Z(ptr) msvcrt.??0bad_cast@@QAE@ABQBD@Z -@ cdecl -i386 ??0bad_cast@@QAE@ABV0@@Z(ptr) msvcrt.??0bad_cast@@QAE@ABV0@@Z -@ cdecl -i386 ??0bad_typeid@@QAE@ABV0@@Z(ptr) msvcrt.??0bad_typeid@@QAE@ABV0@@Z -@ cdecl -i386 ??0bad_typeid@@QAE@PBD@Z(ptr) msvcrt.??0bad_typeid@@QAE@PBD@Z -@ cdecl -i386 ??0exception@@QAE@ABQBD@Z(ptr) msvcrt.??0exception@@QAE@ABQBD@Z -@ cdecl -i386 ??0exception@@QAE@ABV0@@Z(ptr) msvcrt.??0exception@@QAE@ABV0@@Z -@ cdecl -i386 ??0exception@@QAE@XZ() msvcrt.??0exception@@QAE@XZ +@ cdecl -i386 ??0__non_rtti_object@@QAE@ABV0@@Z(ptr) __thiscall_MSVCRT___non_rtti_object_copy_ctor +@ cdecl -i386 ??0__non_rtti_object@@QAE@PBD@Z(ptr) __thiscall_MSVCRT___non_rtti_object_ctor +@ cdecl -i386 ??0bad_cast@@QAE@ABQBD@Z(ptr) __thiscall_MSVCRT_bad_cast_ctor +@ cdecl -i386 ??0bad_cast@@QAE@ABV0@@Z(ptr) __thiscall_MSVCRT_bad_cast_copy_ctor +@ cdecl -i386 ??0bad_typeid@@QAE@ABV0@@Z(ptr) __thiscall_MSVCRT_bad_typeid_copy_ctor +@ cdecl -i386 ??0bad_typeid@@QAE@PBD@Z(ptr) __thiscall_MSVCRT_bad_typeid_ctor +@ cdecl -i386 ??0exception@@QAE@ABQBD@Z(ptr) __thiscall_MSVCRT_exception_ctor +@ cdecl -i386 ??0exception@@QAE@ABV0@@Z(ptr) __thiscall_MSVCRT_exception_copy_ctor +@ cdecl -i386 ??0exception@@QAE@XZ() __thiscall_MSVCRT_exception_default_ctor @ stub ??0filebuf@@QAE@ABV0@@Z @ stub ??0filebuf@@QAE@H@Z @ stub ??0filebuf@@QAE@HPADH@Z @@ -70,10 +70,10 @@ @ stub ??0strstreambuf@@QAE@PADH0@Z @ stub ??0strstreambuf@@QAE@XZ @ stub ??1Iostream_init@@QAE@XZ -@ cdecl -i386 ??1__non_rtti_object@@UAE@XZ() msvcrt.??1__non_rtti_object@@UAE@XZ -@ cdecl -i386 ??1bad_cast@@UAE@XZ() msvcrt.??1bad_cast@@UAE@XZ -@ cdecl -i386 ??1bad_typeid@@UAE@XZ() msvcrt.??1bad_typeid@@UAE@XZ -@ cdecl -i386 ??1exception@@UAE@XZ() msvcrt.??1exception@@UAE@XZ +@ cdecl -i386 ??1__non_rtti_object@@UAE@XZ() __thiscall_MSVCRT___non_rtti_object_dtor +@ cdecl -i386 ??1bad_cast@@UAE@XZ() __thiscall_MSVCRT_bad_cast_dtor +@ cdecl -i386 ??1bad_typeid@@UAE@XZ() __thiscall_MSVCRT_bad_typeid_dtor +@ cdecl -i386 ??1exception@@UAE@XZ() __thiscall_MSVCRT_exception_dtor @ stub ??1filebuf@@UAE@XZ @ stub ??1fstream@@UAE@XZ @ stub ??1ifstream@@UAE@XZ @@ -92,14 +92,14 @@ @ stub ??1streambuf@@UAE@XZ @ stub ??1strstream@@UAE@XZ @ stub ??1strstreambuf@@UAE@XZ -@ cdecl -i386 ??1type_info@@UAE@XZ() msvcrt.??1type_info@@UAE@XZ -@ cdecl ??2@YAPAXI@Z(long) msvcrt.??2@YAPAXI@Z -@ cdecl ??3@YAXPAX@Z(ptr) msvcrt.??3@YAXPAX@Z +@ 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 @ stub ??4Iostream_init@@QAEAAV0@ABV0@@Z -@ cdecl -i386 ??4__non_rtti_object@@QAEAAV0@ABV0@@Z(ptr) msvcrt.??4__non_rtti_object@@QAEAAV0@ABV0@@Z -@ cdecl -i386 ??4bad_cast@@QAEAAV0@ABV0@@Z(ptr) msvcrt.??4bad_cast@@QAEAAV0@ABV0@@Z -@ cdecl -i386 ??4bad_typeid@@QAEAAV0@ABV0@@Z(ptr) msvcrt.??4bad_typeid@@QAEAAV0@ABV0@@Z -@ cdecl -i386 ??4exception@@QAEAAV0@ABV0@@Z(ptr) msvcrt.??4exception@@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 +@ cdecl -i386 ??4bad_typeid@@QAEAAV0@ABV0@@Z(ptr) __thiscall_MSVCRT_bad_typeid_opequals +@ cdecl -i386 ??4exception@@QAEAAV0@ABV0@@Z(ptr) __thiscall_MSVCRT_exception_opequals @ stub ??4filebuf@@QAEAAV0@ABV0@@Z @ stub ??4fstream@@QAEAAV0@AAV0@@Z @ stub ??4ifstream@@QAEAAV0@ABV0@@Z @@ -163,13 +163,13 @@ @ stub ??6ostream@@QAEAAV0@PBE@Z @ stub ??6ostream@@QAEAAV0@PBX@Z @ stub ??7ios@@QBEHXZ -@ cdecl -i386 ??8type_info@@QBEHABV0@@Z(ptr) msvcrt.??8type_info@@QBEHABV0@@Z -@ cdecl -i386 ??9type_info@@QBEHABV0@@Z(ptr) msvcrt.??9type_info@@QBEHABV0@@Z +@ cdecl -i386 ??8type_info@@QBEHABV0@@Z(ptr) __thiscall_MSVCRT_type_info_opequals_equals +@ cdecl -i386 ??9type_info@@QBEHABV0@@Z(ptr) __thiscall_MSVCRT_type_info_opnot_equals @ stub ??Bios@@QBEPAXXZ -@ extern -i386 ??_7__non_rtti_object@@6B@ msvcrt.??_7__non_rtti_object@@6B@ -@ extern -i386 ??_7bad_cast@@6B@ msvcrt.??_7bad_cast@@6B@ -@ extern -i386 ??_7bad_typeid@@6B@ msvcrt.??_7bad_typeid@@6B@ -@ extern -i386 ??_7exception@@6B@ msvcrt.??_7exception@@6B@ +@ extern -i386 ??_7__non_rtti_object@@6B@ MSVCRT___non_rtti_object_vtable +@ extern -i386 ??_7bad_cast@@6B@ MSVCRT_bad_cast_vtable +@ extern -i386 ??_7bad_typeid@@6B@ MSVCRT_bad_typeid_vtable +@ extern -i386 ??_7exception@@6B@ MSVCRT_exception_vtable @ stub ??_7filebuf@@6B@ @ stub ??_7fstream@@6B@ @ stub ??_7ifstream@@6B@ @@ -217,10 +217,10 @@ @ stub ??_Dstdiostream@@QAEXXZ @ stub ??_Dstrstream@@QAEXXZ @ stub ??_EIostream_init@@QAEPAXI@Z -@ cdecl -i386 ??_E__non_rtti_object@@UAEPAXI@Z(long) msvcrt.??_E__non_rtti_object@@UAEPAXI@Z -@ cdecl -i386 ??_Ebad_cast@@UAEPAXI@Z(long) msvcrt.??_Ebad_cast@@UAEPAXI@Z -@ cdecl -i386 ??_Ebad_typeid@@UAEPAXI@Z(long) msvcrt.??_Ebad_typeid@@UAEPAXI@Z -@ cdecl -i386 ??_Eexception@@UAEPAXI@Z(long) msvcrt.??_Eexception@@UAEPAXI@Z +@ cdecl -i386 ??_E__non_rtti_object@@UAEPAXI@Z(long) __thiscall_MSVCRT___non_rtti_object_vector_dtor +@ cdecl -i386 ??_Ebad_cast@@UAEPAXI@Z(long) __thiscall_MSVCRT_bad_cast_vector_dtor +@ cdecl -i386 ??_Ebad_typeid@@UAEPAXI@Z(long) __thiscall_MSVCRT_bad_typeid_vector_dtor +@ cdecl -i386 ??_Eexception@@UAEPAXI@Z(long) __thiscall_MSVCRT_exception_vector_dtor @ stub ??_Efilebuf@@UAEPAXI@Z @ stub ??_Efstream@@UAEPAXI@Z @ stub ??_Eifstream@@UAEPAXI@Z @@ -240,10 +240,10 @@ @ stub ??_Estrstream@@UAEPAXI@Z @ stub ??_Estrstreambuf@@UAEPAXI@Z @ stub ??_GIostream_init@@QAEPAXI@Z -@ cdecl -i386 ??_G__non_rtti_object@@UAEPAXI@Z(long) msvcrt.??_G__non_rtti_object@@UAEPAXI@Z -@ cdecl -i386 ??_Gbad_cast@@UAEPAXI@Z(long) msvcrt.??_Gbad_cast@@UAEPAXI@Z -@ cdecl -i386 ??_Gbad_typeid@@UAEPAXI@Z(long) msvcrt.??_Gbad_typeid@@UAEPAXI@Z -@ cdecl -i386 ??_Gexception@@UAEPAXI@Z(long) msvcrt.??_Gexception@@UAEPAXI@Z +@ cdecl -i386 ??_G__non_rtti_object@@UAEPAXI@Z(long) __thiscall_MSVCRT___non_rtti_object_scalar_dtor +@ cdecl -i386 ??_Gbad_cast@@UAEPAXI@Z(long) __thiscall_MSVCRT_bad_cast_scalar_dtor +@ cdecl -i386 ??_Gbad_typeid@@UAEPAXI@Z(long) __thiscall_MSVCRT_bad_typeid_scalar_dtor +@ cdecl -i386 ??_Gexception@@UAEPAXI@Z(long) __thiscall_MSVCRT_exception_scalar_dtor @ stub ??_Gfilebuf@@UAEPAXI@Z @ stub ??_Gfstream@@UAEPAXI@Z @ stub ??_Gifstream@@UAEPAXI@Z @@ -262,11 +262,11 @@ @ stub ??_Gstreambuf@@UAEPAXI@Z @ stub ??_Gstrstream@@UAEPAXI@Z @ stub ??_Gstrstreambuf@@UAEPAXI@Z -@ cdecl ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ -@ cdecl ?_query_new_mode@@YAHXZ() msvcrt.?_query_new_mode@@YAHXZ -@ cdecl ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z(ptr) msvcrt.?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z -@ cdecl ?_set_new_mode@@YAHH@Z(long) msvcrt.?_set_new_mode@@YAHH@Z -@ cdecl ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z(ptr) msvcrt.?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z +@ 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 +@ cdecl ?_set_new_mode@@YAHH@Z(long) MSVCRT__set_new_mode +@ cdecl ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z(ptr) MSVCRT__set_se_translator @ stub ?adjustfield@ios@@2JB @ stub ?allocate@streambuf@@IAEHXZ @ stub ?attach@filebuf@@QAEPAV1@H@Z @@ -276,7 +276,7 @@ @ stub ?bad@ios@@QBEHXZ @ stub ?base@streambuf@@IBEPADXZ @ stub ?basefield@ios@@2JB -@ cdecl -i386 ?before@type_info@@QBEHABV1@@Z(ptr) msvcrt.?before@type_info@@QBEHABV1@@Z +@ cdecl -i386 ?before@type_info@@QBEHABV1@@Z(ptr) __thiscall_MSVCRT_type_info_before @ stub ?binary@filebuf@@2HB @ stub ?bitalloc@ios@@SAJXZ @ stub ?blen@streambuf@@IBEHXZ @@ -354,7 +354,7 @@ @ stub ?lockc@ios@@KAXXZ @ stub ?lockptr@ios@@IAEPAU_CRT_CRITICAL_SECTION@@XZ @ stub ?lockptr@streambuf@@IAEPAU_CRT_CRITICAL_SECTION@@XZ -@ cdecl -i386 ?name@type_info@@QBEPBDXZ() msvcrt.?name@type_info@@QBEPBDXZ +@ cdecl -i386 ?name@type_info@@QBEPBDXZ() __thiscall_MSVCRT_type_info_name @ stub ?oct@@YAAAVios@@AAV1@@Z @ stub ?open@filebuf@@QAEPAV1@PBDHH@Z @ stub ?open@fstream@@QAEXPBDHH@Z @@ -382,7 +382,7 @@ @ stub ?put@ostream@@QAEAAV1@E@Z @ stub ?putback@istream@@QAEAAV1@D@Z @ stub ?pword@ios@@QBEAAPAXH@Z -@ cdecl -i386 ?raw_name@type_info@@QBEPBDXZ() msvcrt.?raw_name@type_info@@QBEPBDXZ +@ cdecl -i386 ?raw_name@type_info@@QBEPBDXZ() __thiscall_MSVCRT_type_info_raw_name @ stub ?rdbuf@fstream@@QBEPAVfilebuf@@XZ @ stub ?rdbuf@ifstream@@QBEPAVfilebuf@@XZ @ stub ?rdbuf@ios@@QBEPAVstreambuf@@XZ @@ -405,9 +405,9 @@ @ stub ?seekp@ostream@@QAEAAV1@J@Z @ stub ?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z @ stub ?seekpos@streambuf@@UAEJJH@Z -@ cdecl ?set_new_handler@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_new_handler@@YAP6AXXZP6AXXZ@Z -@ cdecl ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_terminate@@YAP6AXXZP6AXXZ@Z -@ cdecl ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_unexpected@@YAP6AXXZP6AXXZ@Z +@ cdecl ?set_new_handler@@YAP6AXXZP6AXXZ@Z(ptr) MSVCRT_set_new_handler +@ cdecl ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) MSVCRT_set_terminate +@ cdecl ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) MSVCRT_set_unexpected @ stub ?setb@streambuf@@IAEXPAD0H@Z @ stub ?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z @ stub ?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z @@ -450,7 +450,7 @@ @ stub ?sync_with_stdio@ios@@SAXXZ @ stub ?tellg@istream@@QAEJXZ @ stub ?tellp@ostream@@QAEJXZ -@ cdecl ?terminate@@YAXXZ() msvcrt.?terminate@@YAXXZ +@ cdecl ?terminate@@YAXXZ() MSVCRT_terminate @ stub ?text@filebuf@@2HB @ stub ?tie@ios@@QAEPAVostream@@PAV2@@Z @ stub ?tie@ios@@QBEPAVostream@@XZ @@ -459,13 +459,13 @@ @ stub ?underflow@filebuf@@UAEHXZ @ stub ?underflow@stdiobuf@@UAEHXZ @ stub ?underflow@strstreambuf@@UAEHXZ -@ cdecl ?unexpected@@YAXXZ() msvcrt.?unexpected@@YAXXZ +@ cdecl ?unexpected@@YAXXZ() MSVCRT_unexpected @ stub ?unlock@ios@@QAAXXZ @ stub ?unlock@streambuf@@QAEXXZ @ stub ?unlockbuf@ios@@QAAXXZ @ stub ?unlockc@ios@@KAXXZ @ stub ?unsetf@ios@@QAEJJ@Z -@ cdecl -i386 ?what@exception@@UBEPBDXZ() msvcrt.?what@exception@@UBEPBDXZ +@ cdecl -i386 ?what@exception@@UBEPBDXZ() __thiscall_MSVCRT_what_exception @ stub ?width@ios@@QAEHH@Z @ stub ?width@ios@@QBEHXZ @ stub ?write@ostream@@QAEAAV1@PBCH@Z @@ -480,686 +480,686 @@ @ stub ?xalloc@ios@@SAHXZ @ stub ?xsgetn@streambuf@@UAEHPADH@Z @ stub ?xsputn@streambuf@@UAEHPBDH@Z -@ cdecl $I10_OUTPUT() msvcrt.$I10_OUTPUT -@ cdecl -arch=i386 _CIacos() msvcrt._CIacos -@ cdecl -arch=i386 _CIasin() msvcrt._CIasin -@ cdecl -arch=i386 _CIatan() msvcrt._CIatan -@ cdecl -arch=i386 _CIatan2() msvcrt._CIatan2 -@ cdecl -arch=i386 _CIcos() msvcrt._CIcos -@ cdecl -arch=i386 _CIcosh() msvcrt._CIcosh -@ cdecl -arch=i386 _CIexp() msvcrt._CIexp -@ cdecl -arch=i386 _CIfmod() msvcrt._CIfmod -@ cdecl -arch=i386 _CIlog() msvcrt._CIlog -@ cdecl -arch=i386 _CIlog10() msvcrt._CIlog10 -@ cdecl -arch=i386 _CIpow() msvcrt._CIpow -@ cdecl -arch=i386 _CIsin() msvcrt._CIsin -@ cdecl -arch=i386 _CIsinh() msvcrt._CIsinh -@ cdecl -arch=i386 _CIsqrt() msvcrt._CIsqrt -@ cdecl -arch=i386 _CItan() msvcrt._CItan -@ cdecl -arch=i386 _CItanh() msvcrt._CItanh -@ stdcall _CxxThrowException(long long) msvcrt._CxxThrowException -@ cdecl -i386 _EH_prolog() msvcrt._EH_prolog -@ extern _HUGE msvcrt._HUGE -@ cdecl _XcptFilter(long ptr) msvcrt._XcptFilter -@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr) msvcrt.__CxxFrameHandler -@ stdcall __CxxLongjmpUnwind(ptr) msvcrt.__CxxLongjmpUnwind -@ 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) msvcrt.__STRINGTOLD -@ extern __argc msvcrt.__argc -@ extern __argv msvcrt.__argv -@ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit -@ cdecl __doserrno() msvcrt.__doserrno -@ cdecl __fpecode() msvcrt.__fpecode -@ cdecl __getmainargs(ptr ptr ptr long ptr) msvcrt.__getmainargs -@ extern __initenv msvcrt.__initenv -@ cdecl __isascii(long) msvcrt.__isascii -@ cdecl __iscsym(long) msvcrt.__iscsym -@ cdecl __iscsymf(long) msvcrt.__iscsymf -@ cdecl __lconv_init() msvcrt.__lconv_init -@ extern __mb_cur_max msvcrt.__mb_cur_max -@ cdecl -arch=i386 __p___argc() msvcrt.__p___argc -@ cdecl -arch=i386 __p___argv() msvcrt.__p___argv -@ cdecl -arch=i386 __p___initenv() msvcrt.__p___initenv -@ cdecl -arch=i386 __p___mb_cur_max() msvcrt.__p___mb_cur_max -@ cdecl -arch=i386 __p___wargv() msvcrt.__p___wargv -@ cdecl -arch=i386 __p___winitenv() msvcrt.__p___winitenv -@ cdecl -arch=i386 __p__acmdln() msvcrt.__p__acmdln -@ cdecl -arch=i386 __p__amblksiz() msvcrt.__p__amblksiz -@ cdecl -arch=i386 __p__commode() msvcrt.__p__commode -@ cdecl -arch=i386 __p__daylight() msvcrt.__p__daylight -@ cdecl -arch=i386 __p__dstbias() msvcrt.__p__dstbias -@ cdecl -arch=i386 __p__environ() msvcrt.__p__environ -@ cdecl -arch=i386 __p__fmode() msvcrt.__p__fmode -@ cdecl -arch=i386 __p__iob() msvcrt.__p__iob -@ cdecl -arch=i386 __p__mbctype() msvcrt.__p__mbctype -@ cdecl -arch=i386 __p__osver() msvcrt.__p__osver -@ cdecl -arch=i386 __p__pctype() msvcrt.__p__pctype -@ cdecl -arch=i386 __p__pgmptr() msvcrt.__p__pgmptr -@ cdecl -arch=i386 __p__pwctype() msvcrt.__p__pwctype -@ cdecl -arch=i386 __p__timezone() msvcrt.__p__timezone -@ cdecl -arch=i386 __p__tzname() msvcrt.__p__tzname -@ cdecl -arch=i386 __p__wcmdln() msvcrt.__p__wcmdln -@ cdecl -arch=i386 __p__wenviron() msvcrt.__p__wenviron -@ cdecl -arch=i386 __p__winmajor() msvcrt.__p__winmajor -@ cdecl -arch=i386 __p__winminor() msvcrt.__p__winminor -@ cdecl -arch=i386 __p__winver() msvcrt.__p__winver -@ cdecl -arch=i386 __p__wpgmptr() msvcrt.__p__wpgmptr -@ cdecl __pxcptinfoptrs() msvcrt.__pxcptinfoptrs -@ cdecl __set_app_type(long) msvcrt.__set_app_type -@ cdecl __setusermatherr(ptr) msvcrt.__setusermatherr -@ cdecl __threadhandle() msvcrt.__threadhandle -@ cdecl __threadid() msvcrt.__threadid -@ cdecl __toascii(long) msvcrt.__toascii -@ cdecl __unDName(long str ptr ptr long) msvcrt.__unDName -@ extern __wargv msvcrt.__wargv -@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs -@ extern __winitenv msvcrt.__winitenv -@ cdecl _abnormal_termination() msvcrt._abnormal_termination -@ cdecl _access(str long) msvcrt._access -@ extern _acmdln msvcrt._acmdln -@ stdcall _adj_fdiv_m16i(long) msvcrt._adj_fdiv_m16i -@ stdcall _adj_fdiv_m32(long) msvcrt._adj_fdiv_m32 -@ stdcall _adj_fdiv_m32i(long) msvcrt._adj_fdiv_m32i -@ stdcall _adj_fdiv_m64(long long) msvcrt._adj_fdiv_m64 -@ cdecl _adj_fdiv_r() msvcrt._adj_fdiv_r -@ stdcall _adj_fdivr_m16i(long) msvcrt._adj_fdivr_m16i -@ stdcall _adj_fdivr_m32(long) msvcrt._adj_fdivr_m32 -@ stdcall _adj_fdivr_m32i(long) msvcrt._adj_fdivr_m32i -@ stdcall _adj_fdivr_m64(long long) msvcrt._adj_fdivr_m64 -@ cdecl _adj_fpatan() msvcrt._adj_fpatan -@ cdecl _adj_fprem() msvcrt._adj_fprem -@ cdecl _adj_fprem1() msvcrt._adj_fprem1 -@ cdecl _adj_fptan() msvcrt._adj_fptan -@ extern _adjust_fdiv msvcrt._adjust_fdiv -@ extern _aexit_rtn msvcrt._aexit_rtn -@ cdecl _amsg_exit(long) msvcrt._amsg_exit -@ cdecl _assert(str str long) msvcrt._assert -@ cdecl _atodbl(ptr str) msvcrt._atodbl -@ cdecl _atoldbl(ptr str) msvcrt._atoldbl -@ cdecl _beep(long long) msvcrt._beep -@ cdecl _beginthread(ptr long ptr) msvcrt._beginthread -@ cdecl _beginthreadex(ptr long ptr ptr long ptr) msvcrt._beginthreadex -@ cdecl _c_exit() msvcrt._c_exit -@ cdecl _cabs(long) msvcrt._cabs -@ cdecl _cexit() msvcrt._cexit -@ cdecl _cgets(str) msvcrt._cgets -@ cdecl _chdir(str) msvcrt._chdir -@ cdecl _chdrive(long) msvcrt._chdrive -@ cdecl _chgsign( double ) msvcrt._chgsign -@ cdecl _chmod(str long) msvcrt._chmod -@ cdecl _chsize(long long) msvcrt._chsize -@ cdecl _clearfp() msvcrt._clearfp -@ cdecl _close(long) msvcrt._close -@ cdecl _commit(long) msvcrt._commit -@ extern _commode msvcrt._commode -@ cdecl _control87(long long) msvcrt._control87 -@ cdecl _controlfp(long long) msvcrt._controlfp -@ cdecl _copysign( double double ) msvcrt._copysign -@ varargs _cprintf(str) msvcrt._cprintf -@ cdecl _cputs(str) msvcrt._cputs -@ cdecl _creat(str long) msvcrt._creat -@ varargs _cscanf(str) msvcrt._cscanf -@ extern _ctype msvcrt._ctype -@ cdecl _cwait(ptr long long) msvcrt._cwait -@ extern _daylight msvcrt._daylight -@ extern _dstbias msvcrt._dstbias -@ cdecl _dup(long) msvcrt._dup -@ cdecl _dup2(long long) msvcrt._dup2 -@ cdecl _ecvt( double long ptr ptr) msvcrt._ecvt -@ cdecl _endthread() msvcrt._endthread -@ cdecl _endthreadex(long) msvcrt._endthreadex -@ extern _environ msvcrt._environ -@ cdecl _eof(long) msvcrt._eof -@ cdecl _errno() msvcrt._errno -@ cdecl _except_handler2(ptr ptr ptr ptr) msvcrt._except_handler2 -@ cdecl _except_handler3(ptr ptr ptr ptr) msvcrt._except_handler3 -@ varargs _execl(str str) msvcrt._execl -@ varargs _execle(str str) msvcrt._execle -@ varargs _execlp(str str) msvcrt._execlp -@ varargs _execlpe(str str) msvcrt._execlpe -@ cdecl _execv(str ptr) msvcrt._execv -@ cdecl _execve(str ptr ptr) msvcrt._execve -@ cdecl _execvp(str ptr) msvcrt._execvp -@ cdecl _execvpe(str ptr ptr) msvcrt._execvpe -@ cdecl _exit(long) msvcrt._exit -@ cdecl _expand(ptr long) msvcrt._expand -@ cdecl _fcloseall() msvcrt._fcloseall -@ cdecl _fcvt( double long ptr ptr) msvcrt._fcvt -@ cdecl _fdopen(long str) msvcrt._fdopen -@ cdecl _fgetchar() msvcrt._fgetchar -@ cdecl _fgetwchar() msvcrt._fgetwchar -@ cdecl _filbuf(ptr) msvcrt._filbuf -@ extern _fileinfo msvcrt._fileinfo -@ cdecl _filelength(long) msvcrt._filelength -@ cdecl -ret64 _filelengthi64(long) msvcrt._filelengthi64 -@ cdecl _fileno(ptr) msvcrt._fileno -@ cdecl _findclose(long) msvcrt._findclose -@ cdecl _findfirst(str ptr) msvcrt._findfirst -@ cdecl _findfirsti64(str ptr) msvcrt._findfirsti64 -@ cdecl _findnext(long ptr) msvcrt._findnext -@ cdecl _findnexti64(long ptr) msvcrt._findnexti64 -@ cdecl _finite( double ) msvcrt._finite -@ cdecl _flsbuf(long ptr) msvcrt._flsbuf -@ cdecl _flushall() msvcrt._flushall -@ extern _fmode msvcrt._fmode -@ cdecl _fpclass(double) msvcrt._fpclass -@ cdecl _fpieee_flt(long ptr ptr) msvcrt._fpieee_flt -@ cdecl _fpreset() msvcrt._fpreset -@ cdecl _fputchar(long) msvcrt._fputchar -@ cdecl _fputwchar(long) msvcrt._fputwchar -@ cdecl _fsopen(str str long) msvcrt._fsopen -@ cdecl _fstat(long ptr) msvcrt._fstat -@ cdecl _fstati64(long ptr) msvcrt._fstati64 -@ cdecl _ftime(ptr) msvcrt._ftime -@ cdecl -ret64 _ftol() msvcrt._ftol -@ cdecl _fullpath(ptr str long) msvcrt._fullpath -@ cdecl _futime(long ptr) msvcrt._futime -@ cdecl _gcvt( double long str) msvcrt._gcvt -@ cdecl _get_osfhandle(long) msvcrt._get_osfhandle -@ cdecl _getch() msvcrt._getch -@ cdecl _getche() msvcrt._getche -@ cdecl _getcwd(str long) msvcrt._getcwd -@ cdecl _getdcwd(long str long) msvcrt._getdcwd -@ cdecl _getdiskfree(long ptr) msvcrt._getdiskfree -@ cdecl _getdllprocaddr(long str long) msvcrt._getdllprocaddr -@ cdecl _getdrive() msvcrt._getdrive -@ cdecl _getdrives() msvcrt._getdrives -@ cdecl _getmaxstdio() msvcrt._getmaxstdio -@ cdecl _getmbcp() msvcrt._getmbcp -@ cdecl _getpid() msvcrt._getpid -@ cdecl _getsystime(ptr) msvcrt._getsystime -@ cdecl _getw(ptr) msvcrt._getw -@ cdecl _getws(ptr) msvcrt._getws -@ cdecl _global_unwind2(ptr) msvcrt._global_unwind2 -@ cdecl _heapadd(ptr long) msvcrt._heapadd -@ cdecl _heapchk() msvcrt._heapchk -@ cdecl _heapmin() msvcrt._heapmin -@ cdecl _heapset(long) msvcrt._heapset -@ cdecl _heapused(ptr ptr) msvcrt._heapused -@ cdecl _heapwalk(ptr) msvcrt._heapwalk -@ cdecl _hypot(double double) msvcrt._hypot -@ cdecl _initterm(ptr ptr) msvcrt._initterm -@ cdecl -i386 _inp(long) msvcrt._inp -@ cdecl -i386 _inpd(long) msvcrt._inpd -@ cdecl -i386 _inpw(long) msvcrt._inpw -@ extern _iob msvcrt._iob -@ cdecl _isatty(long) msvcrt._isatty -@ cdecl _isctype(long long) msvcrt._isctype -@ cdecl _ismbbalnum(long) msvcrt._ismbbalnum -@ cdecl _ismbbalpha(long) msvcrt._ismbbalpha -@ cdecl _ismbbgraph(long) msvcrt._ismbbgraph -@ cdecl _ismbbkalnum(long) msvcrt._ismbbkalnum -@ cdecl _ismbbkana(long) msvcrt._ismbbkana -@ cdecl _ismbbkprint(long) msvcrt._ismbbkprint -@ cdecl _ismbbkpunct(long) msvcrt._ismbbkpunct -@ cdecl _ismbblead(long) msvcrt._ismbblead -@ cdecl _ismbbprint(long) msvcrt._ismbbprint -@ cdecl _ismbbpunct(long) msvcrt._ismbbpunct -@ cdecl _ismbbtrail(long) msvcrt._ismbbtrail -@ cdecl _ismbcalnum(long) msvcrt._ismbcalnum -@ cdecl _ismbcalpha(long) msvcrt._ismbcalpha -@ cdecl _ismbcdigit(long) msvcrt._ismbcdigit -@ cdecl _ismbcgraph(long) msvcrt._ismbcgraph -@ cdecl _ismbchira(long) msvcrt._ismbchira -@ cdecl _ismbckata(long) msvcrt._ismbckata -@ cdecl _ismbcl0(long) msvcrt._ismbcl0 -@ cdecl _ismbcl1(long) msvcrt._ismbcl1 -@ cdecl _ismbcl2(long) msvcrt._ismbcl2 -@ cdecl _ismbclegal(long) msvcrt._ismbclegal -@ cdecl _ismbclower(long) msvcrt._ismbclower -@ cdecl _ismbcprint(long) msvcrt._ismbcprint -@ cdecl _ismbcpunct(long) msvcrt._ismbcpunct -@ cdecl _ismbcspace(long) msvcrt._ismbcspace -@ cdecl _ismbcsymbol(long) msvcrt._ismbcsymbol -@ cdecl _ismbcupper(long) msvcrt._ismbcupper -@ cdecl _ismbslead(ptr ptr) msvcrt._ismbslead -@ cdecl _ismbstrail(ptr ptr) msvcrt._ismbstrail -@ cdecl _isnan( double ) msvcrt._isnan -@ cdecl _itoa(long ptr long) msvcrt._itoa -@ cdecl _itow(long ptr long) msvcrt._itow -@ cdecl _j0(double) msvcrt._j0 -@ cdecl _j1(double) msvcrt._j1 -@ cdecl _jn(long double) msvcrt._jn -@ cdecl _kbhit() msvcrt._kbhit -@ cdecl _lfind(ptr ptr ptr long ptr) msvcrt._lfind -@ cdecl _loaddll(str) msvcrt._loaddll -@ cdecl _local_unwind2(ptr long) msvcrt._local_unwind2 -@ cdecl _locking(long long long) msvcrt._locking -@ cdecl _logb(double) msvcrt._logb -@ cdecl _longjmpex(ptr long) msvcrt._longjmpex -@ cdecl _lrotl(long long) msvcrt._lrotl -@ cdecl _lrotr(long long) msvcrt._lrotr -@ cdecl _lsearch(ptr ptr long long ptr) msvcrt._lsearch -@ cdecl _lseek(long long long) msvcrt._lseek -@ cdecl -ret64 _lseeki64(long long long long) msvcrt._lseeki64 -@ cdecl _ltoa(long ptr long) msvcrt._ltoa -@ cdecl _ltow(long ptr long) msvcrt._ltow -@ cdecl _makepath(str str str str str) msvcrt._makepath -@ cdecl _mbbtombc(long) msvcrt._mbbtombc -@ cdecl _mbbtype(long long) msvcrt._mbbtype -@ cdecl _mbccpy(str str) msvcrt._mbccpy -@ cdecl _mbcjistojms(long) msvcrt._mbcjistojms -@ cdecl _mbcjmstojis(long) msvcrt._mbcjmstojis -@ cdecl _mbclen(ptr) msvcrt._mbclen -@ cdecl _mbctohira(long) msvcrt._mbctohira -@ cdecl _mbctokata(long) msvcrt._mbctokata -@ cdecl _mbctolower(long) msvcrt._mbctolower -@ cdecl _mbctombb(long) msvcrt._mbctombb -@ cdecl _mbctoupper(long) msvcrt._mbctoupper -@ extern _mbctype msvcrt._mbctype -@ cdecl _mbsbtype(str long) msvcrt._mbsbtype -@ cdecl _mbscat(str str) msvcrt._mbscat -@ cdecl _mbschr(str long) msvcrt._mbschr -@ cdecl _mbscmp(str str) msvcrt._mbscmp -@ cdecl _mbscoll(str str) msvcrt._mbscoll -@ cdecl _mbscpy(ptr str) msvcrt._mbscpy -@ cdecl _mbscspn(str str) msvcrt._mbscspn -@ cdecl _mbsdec(ptr ptr) msvcrt._mbsdec -@ cdecl _mbsdup(str) msvcrt._mbsdup -@ cdecl _mbsicmp(str str) msvcrt._mbsicmp -@ cdecl _mbsicoll(str str) msvcrt._mbsicoll -@ cdecl _mbsinc(str) msvcrt._mbsinc -@ cdecl _mbslen(str) msvcrt._mbslen -@ cdecl _mbslwr(str) msvcrt._mbslwr -@ cdecl _mbsnbcat(str str long) msvcrt._mbsnbcat -@ cdecl _mbsnbcmp(str str long) msvcrt._mbsnbcmp -@ cdecl _mbsnbcnt(ptr long) msvcrt._mbsnbcnt -@ cdecl _mbsnbcoll(str str long) msvcrt._mbsnbcoll -@ cdecl _mbsnbcpy(ptr str long) msvcrt._mbsnbcpy -@ cdecl _mbsnbicmp(str str long) msvcrt._mbsnbicmp -@ cdecl _mbsnbicoll(str str long) msvcrt._mbsnbicoll -@ cdecl _mbsnbset(str long long) msvcrt._mbsnbset -@ cdecl _mbsncat(str str long) msvcrt._mbsncat -@ cdecl _mbsnccnt(str long) msvcrt._mbsnccnt -@ cdecl _mbsncmp(str str long) msvcrt._mbsncmp -@ cdecl _mbsncoll(str str long) msvcrt._mbsncoll -@ cdecl _mbsncpy(str str long) msvcrt._mbsncpy -@ cdecl _mbsnextc(str) msvcrt._mbsnextc -@ cdecl _mbsnicmp(str str long) msvcrt._mbsnicmp -@ cdecl _mbsnicoll(str str long) msvcrt._mbsnicoll -@ cdecl _mbsninc(str long) msvcrt._mbsninc -@ cdecl _mbsnset(str long long) msvcrt._mbsnset -@ cdecl _mbspbrk(str str) msvcrt._mbspbrk -@ cdecl _mbsrchr(str long) msvcrt._mbsrchr -@ cdecl _mbsrev(str) msvcrt._mbsrev -@ cdecl _mbsset(str long) msvcrt._mbsset -@ cdecl _mbsspn(str str) msvcrt._mbsspn -@ cdecl _mbsspnp(str str) msvcrt._mbsspnp -@ cdecl _mbsstr(str str) msvcrt._mbsstr -@ cdecl _mbstok(str str) msvcrt._mbstok -@ cdecl _mbstrlen(str) msvcrt._mbstrlen -@ cdecl _mbsupr(str) msvcrt._mbsupr -@ cdecl _memccpy(ptr ptr long long) msvcrt._memccpy -@ cdecl _memicmp(str str long) msvcrt._memicmp -@ cdecl _mkdir(str) msvcrt._mkdir -@ cdecl _mktemp(str) msvcrt._mktemp -@ cdecl _msize(ptr) msvcrt._msize +@ 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 __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 -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) +@ 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) @ stub _mtlock @ stub _mtunlock -@ cdecl _nextafter(double double) msvcrt._nextafter -@ cdecl _onexit(ptr) msvcrt._onexit -@ varargs _open(str long) msvcrt._open -@ cdecl _open_osfhandle(long long) msvcrt._open_osfhandle -@ extern _osver msvcrt._osver -@ cdecl -i386 _outp(long long) msvcrt._outp -@ cdecl -i386 _outpd(long long) msvcrt._outpd -@ cdecl -i386 _outpw(long long) msvcrt._outpw -@ cdecl _pclose(ptr) msvcrt._pclose -@ extern _pctype msvcrt._pctype -@ extern _pgmptr msvcrt._pgmptr -@ cdecl _pipe(ptr long long) msvcrt._pipe -@ cdecl _popen(str str) msvcrt._popen -@ cdecl _purecall() msvcrt._purecall -@ cdecl _putch(long) msvcrt._putch -@ cdecl _putenv(str) msvcrt._putenv -@ cdecl _putw(long ptr) msvcrt._putw -@ cdecl _putws(wstr) msvcrt._putws -@ extern _pwctype msvcrt._pwctype -@ cdecl _read(long ptr long) msvcrt._read -@ cdecl _rmdir(str) msvcrt._rmdir -@ cdecl _rmtmp() msvcrt._rmtmp -@ cdecl _rotl(long long) msvcrt._rotl -@ cdecl _rotr(long long) msvcrt._rotr -@ cdecl _safe_fdiv() msvcrt._safe_fdiv -@ cdecl _safe_fdivr() msvcrt._safe_fdivr -@ cdecl _safe_fprem() msvcrt._safe_fprem -@ cdecl _safe_fprem1() msvcrt._safe_fprem1 -@ cdecl _scalb( double long) msvcrt._scalb -@ cdecl _searchenv(str str ptr) msvcrt._searchenv -@ stdcall -i386 _seh_longjmp_unwind(ptr) msvcrt._seh_longjmp_unwind -@ cdecl _set_error_mode(long) msvcrt._set_error_mode -@ cdecl _seterrormode(long) msvcrt._seterrormode -@ cdecl -i386 _setjmp(ptr) msvcrt._setjmp -@ cdecl -i386 _setjmp3(ptr long) msvcrt._setjmp3 -@ cdecl _setmaxstdio(long) msvcrt._setmaxstdio -@ cdecl _setmbcp(long) msvcrt._setmbcp -@ cdecl _setmode(long long) msvcrt._setmode -@ cdecl _setsystime(ptr long) msvcrt._setsystime -@ cdecl _sleep(long) msvcrt._sleep -@ varargs _snprintf(str long str) msvcrt._snprintf -@ varargs _snwprintf(wstr long wstr) msvcrt._snwprintf -@ varargs _sopen(str long long) msvcrt._sopen -@ varargs _spawnl(long str str) msvcrt._spawnl -@ varargs _spawnle(long str str) msvcrt._spawnle -@ varargs _spawnlp(long str str) msvcrt._spawnlp -@ varargs _spawnlpe(long str str) msvcrt._spawnlpe -@ cdecl _spawnv(long str ptr) msvcrt._spawnv -@ cdecl _spawnve(long str ptr ptr) msvcrt._spawnve -@ cdecl _spawnvp(long str ptr) msvcrt._spawnvp -@ cdecl _spawnvpe(long str ptr ptr) msvcrt._spawnvpe -@ cdecl _splitpath(str ptr ptr ptr ptr) msvcrt._splitpath -@ cdecl _stat(str ptr) msvcrt._stat -@ cdecl _stati64(str ptr) msvcrt._stati64 -@ cdecl _statusfp() msvcrt._statusfp -@ cdecl _strcmpi(str str) msvcrt._strcmpi -@ cdecl _strdate(ptr) msvcrt._strdate -@ cdecl _strdup(str) msvcrt._strdup -@ cdecl _strerror(long) msvcrt._strerror -@ cdecl _stricmp(str str) msvcrt._stricmp -@ cdecl _stricoll(str str) msvcrt._stricoll -@ cdecl _strlwr(str) msvcrt._strlwr -@ cdecl _strncoll(str str long) msvcrt._strncoll -@ cdecl _strnicmp(str str long) msvcrt._strnicmp -@ cdecl _strnicoll(str str long) msvcrt._strnicoll -@ cdecl _strnset(str long long) msvcrt._strnset -@ cdecl _strrev(str) msvcrt._strrev -@ cdecl _strset(str long) msvcrt._strset -@ cdecl _strtime(ptr) msvcrt._strtime -@ cdecl _strupr(str) msvcrt._strupr -@ cdecl _swab(str str long) msvcrt._swab -@ extern _sys_errlist msvcrt._sys_errlist -@ extern _sys_nerr msvcrt._sys_nerr -@ cdecl _tell(long) msvcrt._tell -@ cdecl -ret64 _telli64(long) msvcrt._telli64 -@ cdecl _tempnam(str str) msvcrt._tempnam -@ extern _timezone msvcrt._timezone -@ cdecl _tolower(long) msvcrt._tolower -@ cdecl _toupper(long) msvcrt._toupper -@ extern _tzname msvcrt._tzname -@ cdecl _tzset() msvcrt._tzset -@ cdecl _ultoa(long ptr long) msvcrt._ultoa -@ cdecl _ultow(long ptr long) msvcrt._ultow -@ cdecl _umask(long) msvcrt._umask -@ cdecl _ungetch(long) msvcrt._ungetch -@ cdecl _unlink(str) msvcrt._unlink -@ cdecl _unloaddll(long) msvcrt._unloaddll -@ cdecl _utime(str ptr) msvcrt._utime -@ cdecl _vsnprintf(ptr long ptr ptr) msvcrt._vsnprintf -@ cdecl _vsnwprintf(ptr long wstr long) msvcrt._vsnwprintf -@ cdecl _waccess(wstr long) msvcrt._waccess -@ cdecl _wasctime(ptr) msvcrt._wasctime -@ cdecl _wchdir(wstr) msvcrt._wchdir -@ cdecl _wchmod(wstr long) msvcrt._wchmod -@ extern _wcmdln msvcrt._wcmdln -@ cdecl _wcreat(wstr long) msvcrt._wcreat -@ cdecl _wcsdup(wstr) msvcrt._wcsdup -@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp -@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll -@ cdecl _wcslwr(wstr) msvcrt._wcslwr -@ cdecl _wcsncoll(wstr wstr long) msvcrt._wcsncoll -@ cdecl _wcsnicmp(wstr wstr long) msvcrt._wcsnicmp -@ cdecl _wcsnicoll(wstr wstr long) msvcrt._wcsnicoll -@ cdecl _wcsnset(wstr long long) msvcrt._wcsnset -@ cdecl _wcsrev(wstr) msvcrt._wcsrev -@ cdecl _wcsset(wstr long) msvcrt._wcsset -@ cdecl _wcsupr(wstr) msvcrt._wcsupr -@ cdecl _wctime(ptr) msvcrt._wctime -@ extern _wenviron msvcrt._wenviron -@ varargs _wexecl(wstr wstr) msvcrt._wexecl -@ varargs _wexecle(wstr wstr) msvcrt._wexecle -@ varargs _wexeclp(wstr wstr) msvcrt._wexeclp -@ varargs _wexeclpe(wstr wstr) msvcrt._wexeclpe -@ varargs _wexecv(wstr ptr) msvcrt._wexecv -@ varargs _wexecve(wstr ptr ptr) msvcrt._wexecve -@ varargs _wexecvp(wstr ptr) msvcrt._wexecvp -@ varargs _wexecvpe(wstr ptr ptr) msvcrt._wexecvpe -@ cdecl _wfdopen(long wstr) msvcrt._wfdopen -@ cdecl _wfindfirst(wstr ptr) msvcrt._wfindfirst -@ cdecl _wfindfirsti64(wstr ptr) msvcrt._wfindfirsti64 -@ cdecl _wfindnext(long ptr) msvcrt._wfindnext -@ cdecl _wfindnexti64(long ptr) msvcrt._wfindnexti64 -@ cdecl _wfopen(wstr wstr) msvcrt._wfopen -@ cdecl _wfreopen(wstr wstr ptr) msvcrt._wfreopen -@ cdecl _wfsopen(wstr wstr long) msvcrt._wfsopen -@ cdecl _wfullpath(ptr wstr long) msvcrt._wfullpath -@ cdecl _wgetcwd(wstr long) msvcrt._wgetcwd -@ cdecl _wgetdcwd(long wstr long) msvcrt._wgetdcwd -@ cdecl _wgetenv(wstr) msvcrt._wgetenv -@ extern _winmajor msvcrt._winmajor -@ extern _winminor msvcrt._winminor -@ extern _winver msvcrt._winver -@ cdecl _wmakepath(wstr wstr wstr wstr wstr) msvcrt._wmakepath -@ cdecl _wmkdir(wstr) msvcrt._wmkdir -@ cdecl _wmktemp(wstr) msvcrt._wmktemp -@ varargs _wopen(wstr long) msvcrt._wopen -@ cdecl _wperror(wstr) msvcrt._wperror -@ extern _wpgmptr msvcrt._wpgmptr -@ cdecl _wpopen(wstr wstr) msvcrt._wpopen -@ cdecl _wputenv(wstr) msvcrt._wputenv -@ cdecl _wremove(wstr) msvcrt._wremove -@ cdecl _wrename(wstr wstr) msvcrt._wrename -@ cdecl _write(long ptr long) msvcrt._write -@ cdecl _wrmdir(wstr) msvcrt._wrmdir -@ cdecl _wsearchenv(wstr wstr ptr) msvcrt._wsearchenv -@ cdecl _wsetlocale(long wstr) msvcrt._wsetlocale -@ varargs _wsopen(wstr long long) msvcrt._wsopen -@ varargs _wspawnl(long wstr wstr) msvcrt._wspawnl -@ varargs _wspawnle(long wstr wstr) msvcrt._wspawnle -@ varargs _wspawnlp(long wstr wstr) msvcrt._wspawnlp -@ varargs _wspawnlpe(long wstr wstr) msvcrt._wspawnlpe -@ cdecl _wspawnv(long wstr ptr) msvcrt._wspawnv -@ cdecl _wspawnve(long wstr ptr ptr) msvcrt._wspawnve -@ cdecl _wspawnvp(long wstr ptr) msvcrt._wspawnvp -@ cdecl _wspawnvpe(long wstr ptr ptr) msvcrt._wspawnvpe -@ cdecl _wsplitpath(wstr wstr wstr wstr wstr) msvcrt._wsplitpath -@ cdecl _wstat(wstr ptr) msvcrt._wstat -@ cdecl _wstati64(wstr ptr) msvcrt._wstati64 -@ cdecl _wstrdate(ptr) msvcrt._wstrdate -@ cdecl _wstrtime(ptr) msvcrt._wstrtime -@ cdecl _wsystem(wstr) msvcrt._wsystem -@ cdecl _wtempnam(wstr wstr) msvcrt._wtempnam -@ cdecl _wtmpnam(ptr) msvcrt._wtmpnam -@ cdecl _wtoi(wstr) msvcrt._wtoi -@ cdecl _wtol(wstr) msvcrt._wtol -@ cdecl _wunlink(wstr) msvcrt._wunlink -@ cdecl _wutime(wstr ptr) msvcrt._wutime -@ cdecl _y0(double) msvcrt._y0 -@ cdecl _y1(double) msvcrt._y1 -@ cdecl _yn(long double ) msvcrt._yn -@ cdecl abort() msvcrt.abort -@ cdecl abs(long) msvcrt.abs -@ cdecl acos(double) msvcrt.acos -@ cdecl asctime(ptr) msvcrt.asctime -@ cdecl asin(double) msvcrt.asin -@ cdecl atan(double) msvcrt.atan -@ cdecl atan2(double double) msvcrt.atan2 -@ cdecl atexit(ptr) msvcrt.atexit -@ cdecl atof(str) msvcrt.atof -@ cdecl atoi(str) msvcrt.atoi -@ cdecl atol(str) msvcrt.atol -@ cdecl bsearch(ptr ptr long long ptr) msvcrt.bsearch -@ cdecl calloc(long long) msvcrt.calloc -@ cdecl ceil(double) msvcrt.ceil -@ cdecl clearerr(ptr) msvcrt.clearerr -@ cdecl clock() msvcrt.clock -@ cdecl cos(double) msvcrt.cos -@ cdecl cosh(double) msvcrt.cosh -@ cdecl ctime(ptr) msvcrt.ctime -@ cdecl difftime(long long) msvcrt.difftime -@ cdecl div(long long) msvcrt.div -@ cdecl exit(long) msvcrt.exit -@ cdecl exp(double) msvcrt.exp -@ cdecl fabs(double) msvcrt.fabs -@ cdecl fclose(ptr) msvcrt.fclose -@ cdecl feof(ptr) msvcrt.feof -@ cdecl ferror(ptr) msvcrt.ferror -@ cdecl fflush(ptr) msvcrt.fflush -@ cdecl fgetc(ptr) msvcrt.fgetc -@ cdecl fgetpos(ptr ptr) msvcrt.fgetpos -@ cdecl fgets(ptr long ptr) msvcrt.fgets -@ cdecl fgetwc(ptr) msvcrt.fgetwc -@ cdecl fgetws(ptr long ptr) msvcrt.fgetws -@ cdecl floor(double) msvcrt.floor -@ cdecl fmod(double double) msvcrt.fmod -@ cdecl fopen(str str) msvcrt.fopen -@ varargs fprintf(ptr str) msvcrt.fprintf -@ cdecl fputc(long ptr) msvcrt.fputc -@ cdecl fputs(str ptr) msvcrt.fputs -@ cdecl fputwc(long ptr) msvcrt.fputwc -@ cdecl fputws(wstr ptr) msvcrt.fputws -@ cdecl fread(ptr long long ptr) msvcrt.fread -@ cdecl free(ptr) msvcrt.free -@ cdecl freopen(str str ptr) msvcrt.freopen -@ cdecl frexp(double ptr) msvcrt.frexp -@ varargs fscanf(ptr str) msvcrt.fscanf -@ cdecl fseek(ptr long long) msvcrt.fseek -@ cdecl fsetpos(ptr ptr) msvcrt.fsetpos -@ cdecl ftell(ptr) msvcrt.ftell -@ varargs fwprintf(ptr wstr) msvcrt.fwprintf -@ cdecl fwrite(ptr long long ptr) msvcrt.fwrite -@ varargs fwscanf(ptr wstr) msvcrt.fwscanf -@ cdecl getc(ptr) msvcrt.getc -@ cdecl getchar() msvcrt.getchar -@ cdecl getenv(str) msvcrt.getenv -@ cdecl gets(str) msvcrt.gets -@ cdecl getwc(ptr) msvcrt.getwc -@ cdecl getwchar() msvcrt.getwchar -@ cdecl gmtime(ptr) msvcrt.gmtime -@ cdecl is_wctype(long long) msvcrt.is_wctype -@ cdecl isalnum(long) msvcrt.isalnum -@ cdecl isalpha(long) msvcrt.isalpha -@ cdecl iscntrl(long) msvcrt.iscntrl -@ cdecl isdigit(long) msvcrt.isdigit -@ cdecl isgraph(long) msvcrt.isgraph -@ cdecl isleadbyte(long) msvcrt.isleadbyte -@ cdecl islower(long) msvcrt.islower -@ cdecl isprint(long) msvcrt.isprint -@ cdecl ispunct(long) msvcrt.ispunct -@ cdecl isspace(long) msvcrt.isspace -@ cdecl isupper(long) msvcrt.isupper -@ cdecl iswalnum(long) msvcrt.iswalnum -@ cdecl iswalpha(long) msvcrt.iswalpha -@ cdecl iswascii(long) msvcrt.iswascii -@ cdecl iswcntrl(long) msvcrt.iswcntrl -@ cdecl iswctype(long long) msvcrt.iswctype -@ cdecl iswdigit(long) msvcrt.iswdigit -@ cdecl iswgraph(long) msvcrt.iswgraph -@ cdecl iswlower(long) msvcrt.iswlower -@ cdecl iswprint(long) msvcrt.iswprint -@ cdecl iswpunct(long) msvcrt.iswpunct -@ cdecl iswspace(long) msvcrt.iswspace -@ cdecl iswupper(long) msvcrt.iswupper -@ cdecl iswxdigit(long) msvcrt.iswxdigit -@ cdecl isxdigit(long) msvcrt.isxdigit -@ cdecl labs(long) msvcrt.labs -@ cdecl ldexp( double long) msvcrt.ldexp -@ cdecl ldiv(long long) msvcrt.ldiv -@ cdecl localeconv() msvcrt.localeconv -@ cdecl localtime(ptr) msvcrt.localtime -@ cdecl log(double) msvcrt.log -@ cdecl log10(double) msvcrt.log10 -@ cdecl -i386 longjmp(ptr long) msvcrt.longjmp -@ cdecl malloc(long) msvcrt.malloc -@ cdecl mblen(ptr long) msvcrt.mblen -@ cdecl mbstowcs(ptr str long) msvcrt.mbstowcs -@ cdecl mbtowc(wstr str long) msvcrt.mbtowc -@ cdecl memchr(ptr long long) msvcrt.memchr -@ cdecl memcmp(ptr ptr long) msvcrt.memcmp -@ cdecl memcpy(ptr ptr long) msvcrt.memcpy -@ cdecl memmove(ptr ptr long) msvcrt.memmove -@ cdecl memset(ptr long long) msvcrt.memset -@ cdecl mktime(ptr) msvcrt.mktime -@ cdecl modf(double ptr) msvcrt.modf -@ cdecl perror(str) msvcrt.perror -@ cdecl pow(double double) msvcrt.pow -@ varargs printf(str) msvcrt.printf -@ cdecl putc(long ptr) msvcrt.putc -@ cdecl putchar(long) msvcrt.putchar -@ cdecl puts(str) msvcrt.puts -@ cdecl putwc(long ptr) msvcrt.putwc -@ cdecl putwchar(long) msvcrt.putwchar -@ cdecl qsort(ptr long long ptr) msvcrt.qsort -@ cdecl raise(long) msvcrt.raise -@ cdecl rand() msvcrt.rand -@ cdecl realloc(ptr long) msvcrt.realloc -@ cdecl remove(str) msvcrt.remove -@ cdecl rename(str str) msvcrt.rename -@ cdecl rewind(ptr) msvcrt.rewind -@ varargs scanf(str) msvcrt.scanf -@ cdecl setbuf(ptr ptr) msvcrt.setbuf -@ cdecl setlocale(long str) msvcrt.setlocale -@ cdecl setvbuf(ptr str long long) msvcrt.setvbuf -@ cdecl signal(long long) msvcrt.signal -@ cdecl sin(double) msvcrt.sin -@ cdecl sinh(double) msvcrt.sinh -@ varargs sprintf(ptr str) msvcrt.sprintf -@ cdecl sqrt(double) msvcrt.sqrt -@ cdecl srand(long) msvcrt.srand -@ varargs sscanf(str str) msvcrt.sscanf -@ cdecl strcat(str str) msvcrt.strcat -@ cdecl strchr(str long) msvcrt.strchr -@ cdecl strcmp(str str) msvcrt.strcmp -@ cdecl strcoll(str str) msvcrt.strcoll -@ cdecl strcpy(ptr str) msvcrt.strcpy -@ cdecl strcspn(str str) msvcrt.strcspn -@ cdecl strerror(long) msvcrt.strerror -@ cdecl strftime(str long str ptr) msvcrt.strftime -@ cdecl strlen(str) msvcrt.strlen -@ cdecl strncat(str str long) msvcrt.strncat -@ cdecl strncmp(str str long) msvcrt.strncmp -@ cdecl strncpy(ptr str long) msvcrt.strncpy -@ cdecl strpbrk(str str) msvcrt.strpbrk -@ cdecl strrchr(str long) msvcrt.strrchr -@ cdecl strspn(str str) msvcrt.strspn -@ cdecl strstr(str str) msvcrt.strstr -@ cdecl strtod(str ptr) msvcrt.strtod -@ cdecl strtok(str str) msvcrt.strtok -@ cdecl strtol(str ptr long) msvcrt.strtol -@ cdecl strtoul(str ptr long) msvcrt.strtoul -@ cdecl strxfrm(ptr str long) msvcrt.strxfrm -@ varargs swprintf(wstr wstr) msvcrt.swprintf -@ varargs swscanf(wstr wstr) msvcrt.swscanf -@ cdecl system(str) msvcrt.system -@ cdecl tan(double) msvcrt.tan -@ cdecl tanh(double) msvcrt.tanh -@ cdecl time(ptr) msvcrt.time -@ cdecl tmpfile() msvcrt.tmpfile -@ cdecl tmpnam(ptr) msvcrt.tmpnam -@ cdecl tolower(long) msvcrt.tolower -@ cdecl toupper(long) msvcrt.toupper -@ cdecl towlower(long) msvcrt.towlower -@ cdecl towupper(long) msvcrt.towupper -@ cdecl ungetc(long ptr) msvcrt.ungetc -@ cdecl ungetwc(long ptr) msvcrt.ungetwc -@ cdecl vfprintf(ptr str long) msvcrt.vfprintf -@ cdecl vfwprintf(ptr wstr long) msvcrt.vfwprintf -@ cdecl vprintf(str long) msvcrt.vprintf -@ cdecl vsprintf(ptr str ptr) msvcrt.vsprintf -@ cdecl vswprintf(ptr wstr long) msvcrt.vswprintf -@ cdecl vwprintf(wstr long) msvcrt.vwprintf -@ cdecl wcscat(wstr wstr) msvcrt.wcscat -@ cdecl wcschr(wstr long) msvcrt.wcschr -@ cdecl wcscmp(wstr wstr) msvcrt.wcscmp -@ cdecl wcscoll(wstr wstr) msvcrt.wcscoll -@ cdecl wcscpy(ptr wstr) msvcrt.wcscpy -@ cdecl wcscspn(wstr wstr) msvcrt.wcscspn -@ cdecl wcsftime(ptr long wstr ptr) msvcrt.wcsftime -@ cdecl wcslen(wstr) msvcrt.wcslen -@ cdecl wcsncat(wstr wstr long) msvcrt.wcsncat -@ cdecl wcsncmp(wstr wstr long) msvcrt.wcsncmp -@ cdecl wcsncpy(ptr wstr long) msvcrt.wcsncpy -@ cdecl wcspbrk(wstr wstr) msvcrt.wcspbrk -@ cdecl wcsrchr(wstr long) msvcrt.wcsrchr -@ cdecl wcsspn(wstr wstr) msvcrt.wcsspn -@ cdecl wcsstr(wstr wstr) msvcrt.wcsstr -@ cdecl wcstod(wstr ptr) msvcrt.wcstod -@ cdecl wcstok(wstr wstr) msvcrt.wcstok -@ cdecl wcstol(wstr ptr long) msvcrt.wcstol -@ cdecl wcstombs(ptr ptr long) msvcrt.wcstombs -@ cdecl wcstoul(wstr ptr long) msvcrt.wcstoul -@ cdecl wcsxfrm(ptr wstr long) msvcrt.wcsxfrm -@ cdecl wctomb(ptr long) msvcrt.wctomb -@ varargs wprintf(wstr) msvcrt.wprintf -@ varargs wscanf(wstr) msvcrt.wscanf +@ 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 _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 atexit(ptr) +@ 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) Added: trunk/reactos/dll/win32/msvcrt40/stubs.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt40/stubs.c…
============================================================================== --- trunk/reactos/dll/win32/msvcrt40/stubs.c (added) +++ trunk/reactos/dll/win32/msvcrt40/stubs.c [iso-8859-1] Sun Jul 24 13:31:11 2011 @@ -1,0 +1,67 @@ +#include <stubs.h> + +#undef UNIMPLEMENTED +#define UNIMPLEMENTED __wine_spec_unimplemented_stub("msvcrt.dll", __FUNCTION__) + +int MSVCRT__inp( + unsigned short port) +{ + return _inp(port); +} + +unsigned short MSVCRT__inpw( + unsigned short port) +{ + return _inpw(port); +} + +unsigned long MSVCRT__inpd( + unsigned short port) +{ + return _inpd(port); +} + + +int MSVCRT__outp( + unsigned short port, + int databyte) +{ + return _outp(port, databyte); +} + +unsigned short MSVCRT__outpw( + unsigned short port, + unsigned short dataword) +{ + return _outpw(port, dataword); +} + +unsigned long MSVCRT__outpd( + unsigned short port, + unsigned long dataword) +{ + return _outpd(port, dataword); +} + +size_t _heapused( size_t *pUsed, size_t *pCommit ) +{ + UNIMPLEMENTED; + return( 0 ); +} + +int _fileinfo = 0; + +int _atodbl( + void * value, + char * str) +{ + UNIMPLEMENTED; + return 0; +} + +int _ismbbkprint( + unsigned int c) +{ + UNIMPLEMENTED; + return 0; +} Propchange: trunk/reactos/dll/win32/msvcrt40/stubs.c ------------------------------------------------------------------------------ svn:eol-style = native
13 years, 5 months
1
0
0
0
[jgardou] 52834: [MSVCRT20] - being a full blown crt dll, msvcrt20 needs a correct dllmain entry point
by jgardou@svn.reactos.org
Author: jgardou Date: Sun Jul 24 13:22:15 2011 New Revision: 52834 URL:
http://svn.reactos.org/svn/reactos?rev=52834&view=rev
Log: [MSVCRT20] - being a full blown crt dll, msvcrt20 needs a correct dllmain entry point Modified: trunk/reactos/dll/win32/msvcrt20/CMakeLists.txt trunk/reactos/dll/win32/msvcrt20/msvcrt20.c trunk/reactos/dll/win32/msvcrt20/msvcrt20.rbuild 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] Sun Jul 24 13:22:15 2011 @@ -1,8 +1,15 @@ -include_directories(${REACTOS_SOURCE_DIR}/include/reactos/wine) +add_definitions( + -DUSE_MSVCRT_PREFIX + -D_MSVCRT_ + -D_MSVCRT_LIB_ + -D_MT + -D_CTYPE_DISABLE_MACROS + -D_NO_INLINING + -DCRTDLL + -D__MINGW_IMPORT="") -add_definitions(-D__WINESRC__) -add_definitions(-DCRTDLL) +include_directories(${REACTOS_SOURCE_DIR}/lib/sdk/crt/include) spec2def(msvcrt20.dll msvcrt20.spec) @@ -13,7 +20,8 @@ ${CMAKE_CURRENT_BINARY_DIR}/msvcrt20.def) add_library(msvcrt20 SHARED ${SOURCE}) -set_entrypoint(msvcrt20 0) +set_entrypoint(msvcrt20 DllMain@12) +set_image_base(msvcrt20 ${baseaddress_msvcrt20}) target_link_libraries(msvcrt20 crt wine) Modified: trunk/reactos/dll/win32/msvcrt20/msvcrt20.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt20/msvcrt2…
============================================================================== --- trunk/reactos/dll/win32/msvcrt20/msvcrt20.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt20/msvcrt20.c [iso-8859-1] Sun Jul 24 13:22:15 2011 @@ -18,14 +18,142 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ -#include <stdarg.h> +#include <stdio.h> +#define _CRT_PRECOMP_H +#include <internal/tls.h> +#include <stdlib.h> +#include <windows.h> +#include <internal/wine/msvcrt.h> +#include <locale.h> +#include <mbctype.h> -#include "windef.h" +#include "wine/debug.h" +WINE_DEFAULT_DEBUG_CHANNEL(msvcrt); + +/* EXTERNAL PROTOTYPES ********************************************************/ + +extern int BlockEnvToEnvironA(void); +extern int BlockEnvToEnvironW(void); +extern void FreeEnvironment(char **environment); +extern void _atexit_cleanup(void); + +extern unsigned int _osplatform; +extern unsigned int _osver; +extern unsigned int _winminor; +extern unsigned int _winmajor; +extern unsigned int _winver; + +extern char* _acmdln; /* pointer to ascii command line */ +extern wchar_t* _wcmdln; /* pointer to wide character command line */ +#undef _environ +extern char** _environ; /* pointer to environment block */ +extern char** __initenv; /* pointer to initial environment block */ +extern wchar_t** _wenviron; /* pointer to environment block */ +extern wchar_t** __winitenv; /* pointer to initial environment block */ extern void CDECL __getmainargs(int *argc, char** *argv, char** *envp, int expand_wildcards, int *new_mode); extern void CDECL __wgetmainargs(int *argc, WCHAR** *wargv, WCHAR** *wenvp, int expand_wildcards, int *new_mode); + +/* LIBRARY GLOBAL VARIABLES ***************************************************/ + +HANDLE hHeap = NULL; /* handle for heap */ + + +/* LIBRARY ENTRY POINT ********************************************************/ + +BOOL +WINAPI +DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved) +{ + OSVERSIONINFOW osvi; + switch (dwReason) + { + case DLL_PROCESS_ATTACH://1 + /* initialize version info */ + //DPRINT1("Process Attach %d\n", nAttachCount); + //DPRINT1("Process Attach\n"); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOW); + GetVersionExW( &osvi ); + _winver = (osvi.dwMajorVersion << 8) | osvi.dwMinorVersion; + _winmajor = osvi.dwMajorVersion; + _winminor = osvi.dwMinorVersion; + _osplatform = osvi.dwPlatformId; + _osver = osvi.dwBuildNumber; + hHeap = HeapCreate(0, 100000, 0); + if (hHeap == NULL) + return FALSE; + + /* create tls stuff */ + if (!CreateThreadData()) + return FALSE; + + if (BlockEnvToEnvironA() < 0) + return FALSE; + + if (BlockEnvToEnvironW() < 0) + { + FreeEnvironment(_environ); + return FALSE; + } + + _acmdln = _strdup(GetCommandLineA()); + _wcmdln = _wcsdup(GetCommandLineW()); + + /* FIXME: more initializations... */ + + /* Initialization of the WINE code */ + msvcrt_init_mt_locks(); + msvcrt_init_io(); + setlocale(0, "C"); + //_setmbcp(_MB_CP_LOCALE); + + TRACE("Attach done\n"); + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + FreeThreadData(NULL); + break; + + case DLL_PROCESS_DETACH: + //DPRINT1("Detach %d\n", nAttachCount); + //DPRINT("Detach\n"); + /* FIXME: more cleanup... */ + /* Deinit of the WINE code */ + msvcrt_free_io(); + msvcrt_free_mt_locks(); + + _atexit_cleanup(); + + + /* destroy tls stuff */ + DestroyThreadData(); + + if (__winitenv && __winitenv != _wenviron) + FreeEnvironment((char**)__winitenv); + if (_wenviron) + FreeEnvironment((char**)_wenviron); + + if (__initenv && __initenv != _environ) + FreeEnvironment(__initenv); + if (_environ) + FreeEnvironment(_environ); + + /* destroy heap */ + HeapDestroy(hHeap); + + TRACE("Detach done\n"); + break; + } + + return TRUE; +} + +/* LIBRARY EXPORTS ************************************************************/ /********************************************************************* * __getmainargs (MSVCRT20.@) @@ -48,3 +176,5 @@ { __wgetmainargs( argc, wargv, wenvp, expand_wildcards, &new_mode ); } + +/* EOF */ Modified: trunk/reactos/dll/win32/msvcrt20/msvcrt20.rbuild URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/msvcrt20/msvcrt2…
============================================================================== --- trunk/reactos/dll/win32/msvcrt20/msvcrt20.rbuild [iso-8859-1] (original) +++ trunk/reactos/dll/win32/msvcrt20/msvcrt20.rbuild [iso-8859-1] Sun Jul 24 13:22:15 2011 @@ -1,16 +1,24 @@ <?xml version="1.0"?> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <group> -<module name="msvcrt20" type="win32dll" baseaddress="${BASEADDRESS_MSVCRT20}" installbase="system32" installname="msvcrt20.dll" allowwarnings="true" entrypoint="0" iscrt="yes"> - <importlibrary definition="msvcrt20.spec" /> - <include base="msvcrt20">.</include> - <include base="ReactOS">include/reactos/wine</include> - <define name="__WINESRC__" /> + <module name="msvcrt20" type="win32dll" + baseaddress="${BASEADDRESS_MSVCRT20}" installbase="system32" + installname="msvcrt20.dll" + entrypoint="DllMain@12" iscrt="yes"> + <importlibrary definition="msvcrt20.spec" /> + <include base="msvcrt20">.</include> + <include base="crt">include</include> + <define name="USE_MSVCRT_PREFIX" /> + <define name="_MSVCRT_" /> + <define name="_MSVCRT_LIB_" /> + <define name="_MT" /> + <define name="_CTYPE_DISABLE_MACROS" /> + <define name="_NO_INLINING" /> <define name="CRTDLL" /> - <file>msvcrt20.c</file> + <file>msvcrt20.c</file> <file>stubs.c</file> - <library>wine</library> + <library>wine</library> <library>crt</library> <library>pseh</library> -</module> + </module> </group>
13 years, 5 months
1
0
0
0
← Newer
1
...
15
16
17
18
19
20
21
...
52
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
51
52
Results per page:
10
25
50
100
200