mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-26 19:33:31 +00:00
[MSVCRT20] Build from msvcrt sources
This commit is contained in:
@@ -1,32 +1,16 @@
|
||||
|
||||
include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/crt/include)
|
||||
spec2def(msvcrt20.dll msvcrt20.spec)
|
||||
|
||||
add_definitions(
|
||||
-DUSE_MSVCRT_PREFIX
|
||||
-D_MSVCRT_
|
||||
-D_MSVCRT_LIB_
|
||||
-D_MT
|
||||
-D_CTYPE_DISABLE_MACROS
|
||||
-D_NO_INLINING
|
||||
-DCRTDLL
|
||||
-D__MINGW_IMPORT="")
|
||||
|
||||
list(APPEND SOURCE
|
||||
add_library(msvcrt20 MODULE
|
||||
msvcrt20.c
|
||||
stubs.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/msvcrt20_stubs.c
|
||||
${CMAKE_CURRENT_BINARY_DIR}/msvcrt20.def)
|
||||
|
||||
add_library(msvcrt20 MODULE ${SOURCE})
|
||||
set_module_type(msvcrt20 win32dll ENTRYPOINT DllMain 12)
|
||||
add_dependencies(msvcrt20 psdk)
|
||||
target_link_libraries(msvcrt20 crt vcruntime wine ${PSEH_LIB})
|
||||
target_link_libraries(msvcrt20 msvcrt_static crtmath vcruntime wine chkstk ${PSEH_LIB})
|
||||
|
||||
if(MSVC)
|
||||
# export of deleting destructor "name"
|
||||
target_link_options(msvcrt20 PRIVATE /ignore:4102)
|
||||
endif()
|
||||
add_importlibs(msvcrt20 kernel32 kernel32_vista ntdll)
|
||||
add_delay_importlibs(msvcrt20 user32 advapi32)
|
||||
|
||||
add_importlibs(msvcrt20 kernel32 ntdll)
|
||||
add_cd_file(TARGET msvcrt20 DESTINATION reactos/system32 FOR all)
|
||||
|
||||
@@ -21,143 +21,18 @@
|
||||
#define WIN32_NO_STATUS
|
||||
|
||||
#include <stdio.h>
|
||||
#define _CRT_PRECOMP_H
|
||||
#include <internal/tls.h>
|
||||
//#include <stdlib.h>
|
||||
//#include <windows.h>
|
||||
#include <internal/wine/msvcrt.h>
|
||||
#include <internal/locale.h>
|
||||
//#include <locale.h>
|
||||
//#include <mbctype.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 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 BOOL msvcrt_init_heap(void);
|
||||
extern void CDECL __getmainargs(int *argc, char** *argv, char** *envp,
|
||||
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,
|
||||
extern void _cdecl __wgetmainargs(int *argc, wchar_t** *wargv, wchar_t** *wenvp,
|
||||
int expand_wildcards, int *new_mode);
|
||||
|
||||
/* LIBRARY ENTRY POINT ********************************************************/
|
||||
|
||||
BOOL
|
||||
WINAPI
|
||||
DllMain(PVOID hinstDll, ULONG dwReason, PVOID reserved)
|
||||
{
|
||||
OSVERSIONINFOW osvi;
|
||||
switch (dwReason)
|
||||
{
|
||||
case DLL_PROCESS_ATTACH:
|
||||
/* initialize version info */
|
||||
TRACE("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;
|
||||
|
||||
/* create tls stuff */
|
||||
if (!msvcrt_init_tls())
|
||||
return FALSE;
|
||||
|
||||
if (!msvcrt_init_heap())
|
||||
return FALSE;
|
||||
|
||||
if (BlockEnvToEnvironA() < 0)
|
||||
return FALSE;
|
||||
|
||||
if (BlockEnvToEnvironW() < 0)
|
||||
{
|
||||
FreeEnvironment(_environ);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
_acmdln = _strdup(GetCommandLineA());
|
||||
_wcmdln = _wcsdup(GetCommandLineW());
|
||||
|
||||
/* Initialization of the WINE code */
|
||||
msvcrt_init_mt_locks();
|
||||
//msvcrt_init_math();
|
||||
msvcrt_init_io();
|
||||
//msvcrt_init_console();
|
||||
//msvcrt_init_args();
|
||||
//msvcrt_init_signals();
|
||||
TRACE("Attach done\n");
|
||||
break;
|
||||
|
||||
case DLL_THREAD_ATTACH:
|
||||
//msvcrt_get_thread_data creates data when first called
|
||||
break;
|
||||
|
||||
case DLL_THREAD_DETACH:
|
||||
msvcrt_free_tls_mem();
|
||||
break;
|
||||
|
||||
case DLL_PROCESS_DETACH:
|
||||
TRACE("Detach\n");
|
||||
/* Deinit of the WINE code */
|
||||
msvcrt_free_io();
|
||||
if (reserved) break;
|
||||
msvcrt_free_popen_data();
|
||||
msvcrt_free_mt_locks();
|
||||
//msvcrt_free_console();
|
||||
//msvcrt_free_args();
|
||||
//msvcrt_free_signals();
|
||||
msvcrt_free_tls_mem();
|
||||
if (!msvcrt_free_tls())
|
||||
return FALSE;
|
||||
if(global_locale)
|
||||
MSVCRT__free_locale(global_locale);
|
||||
|
||||
if (__winitenv && __winitenv != _wenviron)
|
||||
FreeEnvironment((char**)__winitenv);
|
||||
if (_wenviron)
|
||||
FreeEnvironment((char**)_wenviron);
|
||||
|
||||
if (__initenv && __initenv != _environ)
|
||||
FreeEnvironment(__initenv);
|
||||
if (_environ)
|
||||
FreeEnvironment(_environ);
|
||||
|
||||
TRACE("Detach done\n");
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* LIBRARY EXPORTS ************************************************************/
|
||||
|
||||
/*********************************************************************
|
||||
* __getmainargs (MSVCRT20.@)
|
||||
*
|
||||
* new_mode is not a pointer in msvcrt20.
|
||||
*/
|
||||
void CDECL MSVCRT20__getmainargs( int *argc, char** *argv, char** *envp,
|
||||
void _cdecl MSVCRT20__getmainargs( int *argc, char** *argv, char** *envp,
|
||||
int expand_wildcards, int new_mode )
|
||||
{
|
||||
__getmainargs( argc, argv, envp, expand_wildcards, &new_mode );
|
||||
@@ -168,10 +43,8 @@ void CDECL MSVCRT20__getmainargs( int *argc, char** *argv, char** *envp,
|
||||
*
|
||||
* new_mode is not a pointer in msvcrt20.
|
||||
*/
|
||||
void CDECL MSVCRT20__wgetmainargs( int *argc, WCHAR** *wargv, WCHAR** *wenvp,
|
||||
void _cdecl MSVCRT20__wgetmainargs( int *argc, wchar_t** *wargv, wchar_t** *wenvp,
|
||||
int expand_wildcards, int new_mode )
|
||||
{
|
||||
__wgetmainargs( argc, wargv, wenvp, expand_wildcards, &new_mode );
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -456,23 +456,23 @@
|
||||
@ cdecl -arch=i386 _CItan()
|
||||
@ cdecl -arch=i386 _CItanh()
|
||||
@ stdcall _CxxThrowException(long long)
|
||||
@ extern _HUGE
|
||||
@ extern _HUGE MSVCRT__HUGE
|
||||
@ cdecl _XcptFilter(long ptr)
|
||||
@ cdecl -i386 __CxxFrameHandler(ptr ptr ptr ptr)
|
||||
@ stdcall -i386 __CxxLongjmpUnwind(ptr)
|
||||
@ cdecl __STRINGTOLD(ptr ptr str long)
|
||||
@ extern __argc
|
||||
@ extern __argv
|
||||
@ extern __argc MSVCRT___argc
|
||||
@ extern __argv MSVCRT___argv
|
||||
@ cdecl __dllonexit(ptr ptr ptr)
|
||||
@ cdecl __doserrno()
|
||||
@ cdecl __fpecode()
|
||||
@ cdecl __getmainargs(ptr ptr ptr long long) MSVCRT20__getmainargs
|
||||
@ extern __initenv
|
||||
@ extern -arch=i386,x86_64 __initenv MSVCRT___initenv
|
||||
@ cdecl __isascii(long)
|
||||
@ cdecl __iscsym(long)
|
||||
@ cdecl __iscsymf(long)
|
||||
@ cdecl __lconv_init()
|
||||
@ extern __mb_cur_max
|
||||
@ extern __mb_cur_max MSVCRT___mb_cur_max
|
||||
@ cdecl -arch=i386 __p___argc()
|
||||
@ cdecl -arch=i386 __p___argv()
|
||||
@ cdecl -arch=i386 __p___initenv()
|
||||
@@ -503,26 +503,26 @@
|
||||
@ cdecl __threadhandle() kernel32.GetCurrentThread
|
||||
@ cdecl __threadid() kernel32.GetCurrentThreadId
|
||||
@ cdecl __toascii(long)
|
||||
@ extern __wargv
|
||||
@ extern __wargv MSVCRT___wargv
|
||||
@ cdecl __wgetmainargs(ptr ptr ptr long long) MSVCRT20__wgetmainargs
|
||||
@ extern __winitenv
|
||||
@ cdecl _abnormal_termination()
|
||||
@ extern __winitenv MSVCRT___winitenv
|
||||
@ cdecl -arch=i386 _abnormal_termination() __intrinsic_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(double)
|
||||
@ cdecl _adj_fdiv_r()
|
||||
@ stdcall _adj_fdivr_m16i(long)
|
||||
@ stdcall _adj_fdivr_m32(long)
|
||||
@ stdcall _adj_fdivr_m32i(long)
|
||||
@ stdcall _adj_fdivr_m64(double)
|
||||
@ cdecl _adj_fpatan()
|
||||
@ cdecl _adj_fprem()
|
||||
@ cdecl _adj_fprem1()
|
||||
@ cdecl _adj_fptan()
|
||||
@ extern _adjust_fdiv
|
||||
@ extern _acmdln MSVCRT__acmdln
|
||||
@ stdcall -arch=i386 _adj_fdiv_m16i(long)
|
||||
@ stdcall -arch=i386 _adj_fdiv_m32(long)
|
||||
@ stdcall -arch=i386 _adj_fdiv_m32i(long)
|
||||
@ stdcall -arch=i386 _adj_fdiv_m64(int64)
|
||||
@ cdecl -arch=i386 _adj_fdiv_r()
|
||||
@ stdcall -arch=i386 _adj_fdivr_m16i(long)
|
||||
@ stdcall -arch=i386 _adj_fdivr_m32(long)
|
||||
@ stdcall -arch=i386 _adj_fdivr_m32i(long)
|
||||
@ stdcall -arch=i386 _adj_fdivr_m64(int64)
|
||||
@ cdecl -arch=i386 _adj_fpatan()
|
||||
@ cdecl -arch=i386 _adj_fprem()
|
||||
@ cdecl -arch=i386 _adj_fprem1()
|
||||
@ cdecl -arch=i386 _adj_fptan()
|
||||
@ extern -arch=i386 _adjust_fdiv MSVCRT__adjust_fdiv
|
||||
@ extern _aexit_rtn
|
||||
@ cdecl _amsg_exit(long)
|
||||
@ cdecl _assert(str str long)
|
||||
@@ -543,7 +543,7 @@
|
||||
@ cdecl _clearfp()
|
||||
@ cdecl _close(long)
|
||||
@ cdecl _commit(long)
|
||||
@ extern _commode
|
||||
@ extern _commode MSVCRT__commode
|
||||
@ cdecl -arch=i386,x86_64 _control87(long long)
|
||||
@ cdecl _controlfp(long long)
|
||||
@ cdecl _copysign( double double )
|
||||
@@ -551,15 +551,15 @@
|
||||
@ cdecl _cputs(str)
|
||||
@ cdecl _creat(str long)
|
||||
@ varargs _cscanf(str)
|
||||
@ extern _ctype
|
||||
@ extern _ctype MSVCRT__ctype
|
||||
@ cdecl _cwait(ptr long long)
|
||||
@ extern _daylight
|
||||
@ extern _daylight MSVCRT___daylight
|
||||
@ cdecl _dup(long)
|
||||
@ cdecl _dup2(long long)
|
||||
@ cdecl _ecvt(double long ptr ptr)
|
||||
@ cdecl _endthread()
|
||||
@ cdecl _endthreadex(long)
|
||||
@ extern _environ
|
||||
@ extern _environ MSVCRT__environ
|
||||
@ cdecl _eof(long)
|
||||
@ cdecl _errno()
|
||||
@ cdecl _except_handler2(ptr ptr ptr ptr)
|
||||
@@ -589,7 +589,7 @@
|
||||
@ cdecl _finite( double )
|
||||
@ cdecl _flsbuf(long ptr)
|
||||
@ cdecl _flushall()
|
||||
@ extern _fmode
|
||||
@ extern _fmode MSVCRT__fmode
|
||||
@ cdecl _fpclass(double)
|
||||
@ cdecl _fpieee_flt(long ptr ptr)
|
||||
@ cdecl _fpreset()
|
||||
@@ -597,10 +597,12 @@
|
||||
@ cdecl _fputwchar(long)
|
||||
@ cdecl _fsopen(str str long)
|
||||
@ cdecl _fstat(long ptr)
|
||||
@ cdecl _ftime(ptr)
|
||||
@ cdecl -arch=win32 _ftime(ptr) _ftime32
|
||||
@ cdecl -arch=win64 _ftime(ptr) _ftime64
|
||||
@ cdecl -arch=i386 -ret64 _ftol()
|
||||
@ cdecl _fullpath(ptr str long)
|
||||
@ cdecl _futime(long ptr)
|
||||
@ cdecl -arch=win32 _futime(long ptr) _futime32
|
||||
@ cdecl -arch=win64 _futime(long ptr) _futime64
|
||||
@ cdecl _gcvt(double long str)
|
||||
@ cdecl _get_osfhandle(long)
|
||||
@ cdecl _getch()
|
||||
@@ -613,7 +615,7 @@
|
||||
@ cdecl _getdrives() kernel32.GetLogicalDrives
|
||||
@ cdecl _getmbcp()
|
||||
@ cdecl _getpid() kernel32.GetCurrentProcessId
|
||||
@ cdecl _getsystime(ptr)
|
||||
@ stub _getsystime(ptr)
|
||||
@ cdecl _getw(ptr)
|
||||
@ cdecl _getws(ptr)
|
||||
@ cdecl _global_unwind2(ptr)
|
||||
@@ -621,23 +623,23 @@
|
||||
@ cdecl _heapchk()
|
||||
@ cdecl _heapmin()
|
||||
@ cdecl _heapset(long)
|
||||
@ cdecl _heapused(ptr ptr)
|
||||
@ stub _heapused(ptr ptr)
|
||||
@ cdecl _heapwalk(ptr)
|
||||
@ cdecl _hypot(double double)
|
||||
@ cdecl _initterm(ptr ptr)
|
||||
@ extern _iob
|
||||
@ extern _iob MSVCRT__iob
|
||||
@ cdecl _isatty(long)
|
||||
@ cdecl _isctype(long long)
|
||||
@ cdecl _ismbbalnum(long)
|
||||
@ cdecl _ismbbalpha(long)
|
||||
@ cdecl _ismbbgraph(long)
|
||||
@ cdecl _ismbbkalnum(long)
|
||||
@ stub _ismbbalnum(long)
|
||||
@ stub _ismbbalpha(long)
|
||||
@ stub _ismbbgraph(long)
|
||||
@ stub _ismbbkalnum(long)
|
||||
@ cdecl _ismbbkana(long)
|
||||
@ cdecl _ismbbkprint(long)
|
||||
@ cdecl _ismbbkpunct(long)
|
||||
@ stub _ismbbkprint(long)
|
||||
@ stub _ismbbkpunct(long)
|
||||
@ cdecl _ismbblead(long)
|
||||
@ cdecl _ismbbprint(long)
|
||||
@ cdecl _ismbbpunct(long)
|
||||
@ stub _ismbbprint(long)
|
||||
@ stub _ismbbpunct(long)
|
||||
@ cdecl _ismbbtrail(long)
|
||||
@ cdecl _ismbcalnum(long)
|
||||
@ cdecl _ismbcalpha(long)
|
||||
@@ -670,8 +672,8 @@
|
||||
@ cdecl _locking(long long long)
|
||||
@ cdecl _logb(double)
|
||||
@ cdecl _longjmpex(ptr long) longjmp
|
||||
@ cdecl _lrotl(long long)
|
||||
@ cdecl _lrotr(long long)
|
||||
@ cdecl _lrotl(long long) MSVCRT__lrotl
|
||||
@ cdecl _lrotr(long long) MSVCRT__lrotr
|
||||
@ cdecl _lsearch(ptr ptr long long ptr)
|
||||
@ cdecl _lseek(long long long)
|
||||
@ cdecl _ltoa(long ptr long)
|
||||
@@ -689,7 +691,7 @@
|
||||
@ cdecl _mbctolower(long)
|
||||
@ cdecl _mbctombb(long)
|
||||
@ cdecl _mbctoupper(long)
|
||||
@ extern _mbctype
|
||||
@ extern _mbctype MSVCRT_mbctype
|
||||
@ cdecl _mbsbtype(str long)
|
||||
@ cdecl _mbscat(str str)
|
||||
@ cdecl _mbschr(str long)
|
||||
@@ -698,7 +700,7 @@
|
||||
@ cdecl _mbscpy(ptr str)
|
||||
@ cdecl _mbscspn(str str)
|
||||
@ cdecl _mbsdec(ptr ptr)
|
||||
@ cdecl _mbsdup(str)
|
||||
@ cdecl _mbsdup(str) _strdup
|
||||
@ cdecl _mbsicmp(str str)
|
||||
@ cdecl _mbsicoll(str str)
|
||||
@ cdecl _mbsinc(str)
|
||||
@@ -715,11 +717,11 @@
|
||||
@ cdecl _mbsncat(str str long)
|
||||
@ cdecl _mbsnccnt(str long)
|
||||
@ cdecl _mbsncmp(str str long)
|
||||
@ cdecl _mbsncoll(str str long)
|
||||
@ stub _mbsncoll(str str long)
|
||||
@ cdecl _mbsncpy(str str long)
|
||||
@ cdecl _mbsnextc(str)
|
||||
@ cdecl _mbsnicmp(str str long)
|
||||
@ cdecl _mbsnicoll(str str long)
|
||||
@ stub _mbsnicoll(str str long)
|
||||
@ cdecl _mbsninc(str long)
|
||||
@ cdecl _mbsnset(str long long)
|
||||
@ cdecl _mbspbrk(str str)
|
||||
@@ -743,10 +745,10 @@
|
||||
@ cdecl _onexit(ptr)
|
||||
@ varargs _open(str long)
|
||||
@ cdecl _open_osfhandle(long long)
|
||||
@ extern _osver
|
||||
@ extern _osver MSVCRT__osver
|
||||
@ cdecl _pclose(ptr)
|
||||
@ extern _pctype
|
||||
@ extern _pgmptr
|
||||
@ extern _pctype MSVCRT__pctype
|
||||
@ extern _pgmptr MSVCRT__pgmptr
|
||||
@ cdecl _pipe(ptr long long)
|
||||
@ cdecl _popen(str str)
|
||||
@ cdecl _purecall()
|
||||
@@ -754,12 +756,12 @@
|
||||
@ cdecl _putenv(str)
|
||||
@ cdecl _putw(long ptr)
|
||||
@ cdecl _putws(wstr)
|
||||
@ extern _pwctype
|
||||
@ extern _pwctype MSVCRT__pwctype
|
||||
@ cdecl _read(long ptr long)
|
||||
@ cdecl _rmdir(str)
|
||||
@ cdecl _rmtmp()
|
||||
@ cdecl _rotl(long long)
|
||||
@ cdecl _rotr(long long)
|
||||
@ cdecl _rotl(long long) MSVCRT__rotl
|
||||
@ cdecl _rotr(long long) MSVCRT__rotr
|
||||
@ cdecl _safe_fdiv()
|
||||
@ cdecl _safe_fdivr()
|
||||
@ cdecl _safe_fprem()
|
||||
@@ -772,7 +774,7 @@
|
||||
@ cdecl -i386 _setjmp3(ptr long)
|
||||
@ cdecl _setmbcp(long)
|
||||
@ cdecl _setmode(long long)
|
||||
@ cdecl _setsystime(ptr long)
|
||||
@ stub _setsystime(ptr long)
|
||||
@ cdecl _sleep(long)
|
||||
@ varargs _snprintf(ptr long str)
|
||||
@ varargs _snwprintf(ptr long wstr)
|
||||
@@ -804,8 +806,8 @@
|
||||
@ cdecl _strtime(ptr)
|
||||
@ cdecl _strupr(str)
|
||||
@ cdecl _swab(str str long)
|
||||
@ extern _sys_errlist
|
||||
@ extern _sys_nerr
|
||||
@ extern _sys_errlist MSVCRT__sys_errlist
|
||||
@ extern _sys_nerr MSVCRT__sys_nerr
|
||||
@ cdecl _tccpy(str str) _mbccpy
|
||||
@ cdecl _tclen(ptr) _mbclen
|
||||
@ cdecl _tcschr(str long) _mbschr
|
||||
@@ -841,10 +843,10 @@
|
||||
@ cdecl _tcsupr(str) _mbsupr
|
||||
@ cdecl _tell(long)
|
||||
@ cdecl _tempnam(str str)
|
||||
@ extern _timezone
|
||||
@ extern _timezone MSVCRT___timezone
|
||||
@ cdecl _tolower(long)
|
||||
@ cdecl _toupper(long)
|
||||
@ extern _tzname
|
||||
@ extern _tzname MSVCRT__tzname
|
||||
@ cdecl _tzset()
|
||||
@ cdecl _ultoa(long ptr long)
|
||||
@ cdecl _ultow(long ptr long)
|
||||
@@ -852,14 +854,15 @@
|
||||
@ cdecl _ungetch(long)
|
||||
@ cdecl _unlink(str)
|
||||
@ cdecl _unloaddll(long)
|
||||
@ cdecl _utime(str ptr)
|
||||
@ cdecl -arch=win32 _utime(str ptr) _utime32
|
||||
@ cdecl -arch=win64 _utime(str ptr) _utime64
|
||||
@ 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
|
||||
@ extern _wcmdln MSVCRT__wcmdln
|
||||
@ cdecl _wcreat(wstr long)
|
||||
@ cdecl _wcsdup(wstr)
|
||||
@ cdecl _wcsicmp(wstr wstr)
|
||||
@@ -872,8 +875,9 @@
|
||||
@ cdecl _wcsrev(wstr)
|
||||
@ cdecl _wcsset(wstr long)
|
||||
@ cdecl _wcsupr(wstr)
|
||||
@ cdecl _wctime(ptr)
|
||||
@ extern _wenviron
|
||||
@ cdecl -arch=win32 _wctime(ptr) _wctime32
|
||||
@ cdecl -arch=win64 _wctime(ptr) _wctime64
|
||||
@ extern _wenviron MSVCRT__wenviron
|
||||
@ varargs _wexecl(wstr wstr)
|
||||
@ varargs _wexecle(wstr wstr)
|
||||
@ varargs _wexeclp(wstr wstr)
|
||||
@@ -892,15 +896,15 @@
|
||||
@ cdecl _wgetcwd(wstr long)
|
||||
@ cdecl _wgetdcwd(long wstr long)
|
||||
@ cdecl _wgetenv(wstr)
|
||||
@ extern _winmajor
|
||||
@ extern _winminor
|
||||
@ extern _winver
|
||||
@ extern _winmajor MSVCRT__winmajor
|
||||
@ extern _winminor MSVCRT__winminor
|
||||
@ extern _winver MSVCRT__winver
|
||||
@ cdecl _wmakepath(ptr wstr wstr wstr wstr)
|
||||
@ cdecl _wmkdir(wstr)
|
||||
@ cdecl _wmktemp(wstr)
|
||||
@ varargs _wopen(wstr long)
|
||||
@ cdecl _wperror(wstr)
|
||||
@ extern _wpgmptr
|
||||
@ extern _wpgmptr MSVCRT__wpgmptr
|
||||
@ cdecl _wpopen(wstr wstr)
|
||||
@ cdecl _wputenv(wstr)
|
||||
@ cdecl _wremove(wstr)
|
||||
@@ -928,7 +932,8 @@
|
||||
@ cdecl _wtoi(wstr)
|
||||
@ cdecl _wtol(wstr)
|
||||
@ cdecl _wunlink(wstr)
|
||||
@ cdecl _wutime(wstr ptr)
|
||||
@ cdecl -arch=win32 _wutime(wstr ptr) _wutime32
|
||||
@ cdecl -arch=win64 _wutime(wstr ptr) _wutime64
|
||||
@ cdecl _y0(double)
|
||||
@ cdecl _y1(double)
|
||||
@ cdecl _yn(long double )
|
||||
@@ -939,7 +944,7 @@
|
||||
@ cdecl asin(double)
|
||||
@ cdecl atan(double)
|
||||
@ cdecl atan2(double double)
|
||||
@ extern atexit # <-- do not touch this!
|
||||
@ extern atexit MSVCRT_atexit # <-- do not touch this!
|
||||
@ cdecl atof(str)
|
||||
@ cdecl atoi(str)
|
||||
@ cdecl atol(str)
|
||||
@@ -950,9 +955,11 @@
|
||||
@ cdecl clock()
|
||||
@ cdecl cos(double)
|
||||
@ cdecl cosh(double)
|
||||
@ cdecl ctime(ptr)
|
||||
@ cdecl difftime(long long)
|
||||
@ cdecl div(long long)
|
||||
@ cdecl -arch=win32 ctime(ptr) _ctime32
|
||||
@ cdecl -arch=win64 ctime(ptr) _ctime64
|
||||
@ cdecl -arch=win32 difftime(long long) _difftime32
|
||||
@ cdecl -arch=win64 difftime(long long) _difftime64
|
||||
@ cdecl -ret64 div(long long)
|
||||
@ cdecl exit(long)
|
||||
@ cdecl exp(double)
|
||||
@ cdecl fabs(double)
|
||||
@@ -990,8 +997,9 @@
|
||||
@ cdecl gets(str)
|
||||
@ cdecl getwc(ptr)
|
||||
@ cdecl getwchar()
|
||||
@ cdecl gmtime(ptr)
|
||||
@ cdecl is_wctype(long long)
|
||||
@ cdecl -arch=win32 gmtime(ptr) _gmtime32
|
||||
@ cdecl -arch=win64 gmtime(ptr) _gmtime64
|
||||
@ cdecl is_wctype(long long) iswctype
|
||||
@ cdecl isalnum(long)
|
||||
@ cdecl isalpha(long)
|
||||
@ cdecl iscntrl(long)
|
||||
@@ -1021,7 +1029,8 @@
|
||||
@ cdecl ldexp(double long)
|
||||
@ cdecl ldiv(long long)
|
||||
@ cdecl localeconv()
|
||||
@ cdecl localtime(ptr)
|
||||
@ cdecl -arch=win32 localtime(ptr) _localtime32
|
||||
@ cdecl -arch=win64 localtime(ptr) _localtime64
|
||||
@ cdecl log(double)
|
||||
@ cdecl log10(double)
|
||||
@ cdecl longjmp(ptr long)
|
||||
@@ -1034,7 +1043,8 @@
|
||||
@ cdecl memcpy(ptr ptr long)
|
||||
@ cdecl memmove(ptr ptr long)
|
||||
@ cdecl memset(ptr long long)
|
||||
@ cdecl mktime(ptr)
|
||||
@ cdecl -arch=win32 mktime(ptr) _mktime32
|
||||
@ cdecl -arch=win64 mktime(ptr) _mktime64
|
||||
@ cdecl modf(double ptr)
|
||||
@ cdecl perror(str)
|
||||
@ cdecl pow(double double)
|
||||
@@ -1088,7 +1098,8 @@
|
||||
@ cdecl system(str)
|
||||
@ cdecl tan(double)
|
||||
@ cdecl tanh(double)
|
||||
@ cdecl time(ptr)
|
||||
@ cdecl -arch=win32 time(ptr) _time32
|
||||
@ cdecl -arch=win64 time(ptr) _time64
|
||||
@ cdecl tmpfile()
|
||||
@ cdecl tmpnam(ptr)
|
||||
@ cdecl tolower(long)
|
||||
@@ -1101,7 +1112,7 @@
|
||||
@ cdecl vfwprintf(ptr wstr ptr)
|
||||
@ cdecl vprintf(str ptr)
|
||||
@ cdecl vsprintf(ptr str ptr)
|
||||
@ cdecl vswprintf(ptr wstr long)
|
||||
@ cdecl vswprintf(ptr wstr ptr) _vswprintf
|
||||
@ cdecl vwprintf(wstr long)
|
||||
@ cdecl wcscat(wstr wstr)
|
||||
@ cdecl wcschr(wstr long)
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
#include <windef.h>
|
||||
#include <stubs.h>
|
||||
|
||||
#undef UNIMPLEMENTED
|
||||
#define UNIMPLEMENTED __wine_spec_unimplemented_stub("msvcrt.dll", __FUNCTION__)
|
||||
|
||||
int _atodbl(
|
||||
void * value,
|
||||
char * str)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
int _ismbbkprint(
|
||||
unsigned int c)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return 0;
|
||||
}
|
||||
|
||||
size_t _heapused( size_t *pUsed, size_t *pCommit )
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return( 0 );
|
||||
}
|
||||
|
||||
int _fileinfo = 0;
|
||||
Reference in New Issue
Block a user