LIBRARY "msvcrt.dll"
EXPORTS

#include "func.def.in"
#include "msvcrt-common.def.in"

; List of I386 C++ mangled symbols which matches the first I386 version of msvcrt.dll (Microsoft Visual C++ 4.2)
#ifdef DEF_I386
; public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
??0__non_rtti_object@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
??0__non_rtti_object@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall bad_cast::bad_cast(char const *const &)
??0bad_cast@@QAE@ABQBD@Z ; has WINAPI (@4)
; public: __thiscall bad_cast::bad_cast(class bad_cast const &)
??0bad_cast@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
??0bad_typeid@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall bad_typeid::bad_typeid(char const *)
??0bad_typeid@@QAE@PBD@Z ; has WINAPI (@4)
; public: __thiscall exception::exception(char const *const &)
??0exception@@QAE@ABQBD@Z ; has WINAPI (@4)
; public: __thiscall exception::exception(class exception const &)
??0exception@@QAE@ABV0@@Z ; has WINAPI (@4)
; public: __thiscall exception::exception(void)
??0exception@@QAE@XZ
; public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
??1__non_rtti_object@@UAE@XZ
; public: virtual __thiscall bad_cast::~bad_cast(void)
??1bad_cast@@UAE@XZ
; public: virtual __thiscall bad_typeid::~bad_typeid(void)
??1bad_typeid@@UAE@XZ
; public: virtual __thiscall exception::~exception(void)
??1exception@@UAE@XZ
; public: virtual __thiscall type_info::~type_info(void)
??1type_info@@UAE@XZ
; void *__cdecl operator new(unsigned int)
??2@YAPAXI@Z
; void __cdecl operator delete(void *)
??3@YAXPAX@Z
; public: class __non_rtti_object &__thiscall __non_rtti_object::operator =(class __non_rtti_object const &)
??4__non_rtti_object@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class bad_cast &__thiscall bad_cast::operator =(class bad_cast const &)
??4bad_cast@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class bad_typeid &__thiscall bad_typeid::operator =(class bad_typeid const &)
??4bad_typeid@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: class exception &__thiscall exception::operator =(class exception const &)
??4exception@@QAEAAV0@ABV0@@Z ; has WINAPI (@4)
; public: int __thiscall type_info::operator ==(class type_info const &)const
??8type_info@@QBEHABV0@@Z ; has WINAPI (@4)
; public: int __thiscall type_info::operator !=(class type_info const &)const
??9type_info@@QBEHABV0@@Z ; has WINAPI (@4)
; const __non_rtti_object::$vftable
??_7__non_rtti_object@@6B@ DATA
; const bad_cast::$vftable
??_7bad_cast@@6B@ DATA
; const bad_typeid::$vftable
??_7bad_typeid@@6B@ DATA
; const exception::$vftable
??_7exception@@6B@ DATA
; public: virtual void *__thiscall __non_rtti_object::__vecDelDtor(unsigned int)
??_E__non_rtti_object@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall bad_cast::__vecDelDtor(unsigned int)
??_Ebad_cast@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall bad_typeid::__vecDelDtor(unsigned int)
??_Ebad_typeid@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall exception::__vecDelDtor(unsigned int)
??_Eexception@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall __non_rtti_object::__delDtor(unsigned int)
??_G__non_rtti_object@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall bad_cast::__delDtor(unsigned int)
??_Gbad_cast@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall bad_typeid::__delDtor(unsigned int)
??_Gbad_typeid@@UAEPAXI@Z ; has WINAPI (@4)
; public: virtual void *__thiscall exception::__delDtor(unsigned int)
??_Gexception@@UAEPAXI@Z ; has WINAPI (@4)
; int(__cdecl *)(unsigned int)__cdecl _query_new_handler(void)
?_query_new_handler@@YAP6AHI@ZXZ
; int __cdecl _query_new_mode(void)
?_query_new_mode@@YAHXZ
; int(__cdecl *)(unsigned int)__cdecl _set_new_handler(int(__cdecl *)(unsigned int))
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
; int __cdecl _set_new_mode(int)
?_set_new_mode@@YAHH@Z
; void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *)__cdecl _set_se_translator(void(__cdecl *)(unsigned int,struct _EXCEPTION_POINTERS *))
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; public: int __thiscall type_info::before(class type_info const &)const
?before@type_info@@QBEHABV1@@Z ; has WINAPI (@4)
; public: char const *__thiscall type_info::name(void)const
?name@type_info@@QBEPBDXZ
; public: char const *__thiscall type_info::raw_name(void)const
?raw_name@type_info@@QBEPBDXZ
; void(__cdecl *)(void)__cdecl set_new_handler(void(__cdecl *)(void))
?set_new_handler@@YAP6AXXZP6AXXZ@Z
; void(__cdecl *)(void)__cdecl set_terminate(void(__cdecl *)(void))
?set_terminate@@YAP6AXXZP6AXXZ@Z
; void(__cdecl *)(void)__cdecl set_unexpected(void(__cdecl *)(void))
?set_unexpected@@YAP6AXXZP6AXXZ@Z
; void __cdecl terminate(void)
?terminate@@YAXXZ
; void __cdecl unexpected(void)
?unexpected@@YAXXZ
; public: virtual char const *__thiscall exception::what(void)const
?what@exception@@UBEPBDXZ
#endif

; List of X64 C++ mangled symbols which matches the first X64 version of msvcrt.dll (Windows Server 2003 SP1 / Windows XP x64)
#ifdef DEF_X64
; public: __cdecl __non_rtti_object::__non_rtti_object(class __non_rtti_object const & __ptr64) __ptr64
; GCC = __ZN17__non_rtti_objectC2ERKS_
??0__non_rtti_object@@QEAA@AEBV0@@Z
; public: __cdecl __non_rtti_object::__non_rtti_object(char const * __ptr64) __ptr64
; GCC = __ZN17__non_rtti_objectC1ERKS_
??0__non_rtti_object@@QEAA@PEBD@Z
; private: __cdecl bad_cast::bad_cast(char const * __ptr64 const * __ptr64) __ptr64
??0bad_cast@@AEAA@PEBQEBD@Z
; public: __cdecl bad_cast::bad_cast(char const * __ptr64 const & __ptr64) __ptr64
??0bad_cast@@QEAA@AEBQEBD@Z
; public: __cdecl bad_cast::bad_cast(class bad_cast const & __ptr64) __ptr64
??0bad_cast@@QEAA@AEBV0@@Z
; public: __cdecl bad_cast::bad_cast(char const * __ptr64) __ptr64
??0bad_cast@@QEAA@PEBD@Z
; public: __cdecl bad_typeid::bad_typeid(class bad_typeid const & __ptr64) __ptr64
??0bad_typeid@@QEAA@AEBV0@@Z
; public: __cdecl bad_typeid::bad_typeid(char const * __ptr64) __ptr64
??0bad_typeid@@QEAA@PEBD@Z
; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64) __ptr64
??0exception@@QEAA@AEBQEBD@Z
; public: __cdecl exception::exception(char const * __ptr64 const & __ptr64,int) __ptr64
??0exception@@QEAA@AEBQEBDH@Z
; public: __cdecl exception::exception(class exception const & __ptr64) __ptr64
??0exception@@QEAA@AEBV0@@Z
; public: __cdecl exception::exception(void) __ptr64
??0exception@@QEAA@XZ
; public: virtual __cdecl __non_rtti_object::~__non_rtti_object(void) __ptr64
??1__non_rtti_object@@UEAA@XZ
; public: virtual __cdecl bad_cast::~bad_cast(void) __ptr64
??1bad_cast@@UEAA@XZ
; public: virtual __cdecl bad_typeid::~bad_typeid(void) __ptr64
??1bad_typeid@@UEAA@XZ
; public: virtual __cdecl exception::~exception(void) __ptr64
??1exception@@UEAA@XZ
; public: virtual __cdecl type_info::~type_info(void) __ptr64
??1type_info@@UEAA@XZ
; void * __ptr64 __cdecl operator new(unsigned __int64)
; GCC = __Znwy
??2@YAPEAX_K@Z
; void __cdecl operator delete(void * __ptr64)
; GCC = __ZdlPv
??3@YAXPEAX@Z
; public: class __non_rtti_object & __ptr64 __cdecl __non_rtti_object::operator=(class __non_rtti_object const & __ptr64) __ptr64
??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z
; public: class bad_cast & __ptr64 __cdecl bad_cast::operator=(class bad_cast const & __ptr64) __ptr64
??4bad_cast@@QEAAAEAV0@AEBV0@@Z
; public: class bad_typeid & __ptr64 __cdecl bad_typeid::operator=(class bad_typeid const & __ptr64) __ptr64
??4bad_typeid@@QEAAAEAV0@AEBV0@@Z
; public: class exception & __ptr64 __cdecl exception::operator=(class exception const & __ptr64) __ptr64
??4exception@@QEAAAEAV0@AEBV0@@Z
; public: int __cdecl type_info::operator==(class type_info const & __ptr64)const  __ptr64
??8type_info@@QEBAHAEBV0@@Z
; public: int __cdecl type_info::operator!=(class type_info const & __ptr64)const  __ptr64
??9type_info@@QEBAHAEBV0@@Z
; const  __non_rtti_object::`vftable'
??_7__non_rtti_object@@6B@ DATA
; const  bad_cast::`vftable'
??_7bad_cast@@6B@ DATA
; const  bad_typeid::`vftable'
??_7bad_typeid@@6B@ DATA
; const  exception::`vftable'
??_7exception@@6B@ DATA
; public: void __cdecl bad_cast::`default constructor closure'(void) __ptr64
??_Fbad_cast@@QEAAXXZ
; public: void __cdecl bad_typeid::`default constructor closure'(void) __ptr64
??_Fbad_typeid@@QEAAXXZ
; void * __ptr64 __cdecl operator new[](unsigned __int64)
; GNU = __Znay
??_U@YAPEAX_K@Z
; void __cdecl operator delete[](void * __ptr64)
; GNU = __ZdaPv
??_V@YAXPEAX@Z
; int (__cdecl*__cdecl _query_new_handler(void))(unsigned __int64)
; GNU = __Z18_query_new_handlerv
?_query_new_handler@@YAP6AH_K@ZXZ
; int __cdecl _query_new_mode(void)
; GNU = __Z15_query_new_modev
?_query_new_mode@@YAHXZ
; int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned __int64)))(unsigned __int64)
; GNU = __Z16_set_new_handlerPFiyE
?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z
; int __cdecl _set_new_mode(int)
; GNU = __Z13_set_new_modei
?_set_new_mode@@YAHH@Z
; void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
; GNU = __Z18_set_se_translatorPFvjP19_EXCEPTION_POINTERSE
?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
; public: int __cdecl type_info::before(class type_info const & __ptr64)const  __ptr64
?before@type_info@@QEBAHAEBV1@@Z
; public: char const * __ptr64 __cdecl type_info::name(void)const  __ptr64
?name@type_info@@QEBAPEBDXZ
; public: char const * __ptr64 __cdecl type_info::raw_name(void)const  __ptr64
?raw_name@type_info@@QEBAPEBDXZ
; void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
; GNU = __Z15set_new_handlerPFvvE
?set_new_handler@@YAP6AXXZP6AXXZ@Z
; void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
; GNU = __Z13set_terminatePFvvE
?set_terminate@@YAP6AXXZP6AXXZ@Z
; void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
; GNU = __Z14set_unexpectedPFvvE
?set_unexpected@@YAP6AXXZP6AXXZ@Z
; void __cdecl terminate(void)
; GNU = __Z9terminatev
?terminate@@YAXXZ
; void __cdecl unexpected(void)
; GNU = __Z10unexpectedv
?unexpected@@YAXXZ
; public: virtual char const * __ptr64 __cdecl exception::what(void)const  __ptr64
?what@exception@@UEBAPEBDXZ
#endif

; List of ARM32 C++ mangled symbols
; TODO: Verify if this list is correct and contains all symbols from the first ARM32 version of msvcrt.dll
#ifdef DEF_ARM32
??0__non_rtti_object@@QAA@ABV0@@Z
??0__non_rtti_object@@QAA@PBD@Z
??0bad_cast@@AAA@PBQBD@Z
??0bad_cast@@QAA@ABV0@@Z
??0bad_cast@@QAA@PBD@Z
??0bad_typeid@@QAA@ABV0@@Z
??0bad_typeid@@QAA@PBD@Z
??0exception@@QAA@ABQBD@Z
??0exception@@QAA@ABQBDH@Z
??0exception@@QAA@ABV0@@Z
??0exception@@QAA@XZ
??1__non_rtti_object@@UAA@XZ
??1bad_cast@@UAA@XZ
??1bad_typeid@@UAA@XZ
??1exception@@UAA@XZ
??1type_info@@UAA@XZ
??2@YAPAXI@Z
??2@YAPAXIHPBDH@Z
??3@YAXPAX@Z
??4__non_rtti_object@@QAAAAV0@ABV0@@Z
??4bad_cast@@QAAAAV0@ABV0@@Z
??4bad_typeid@@QAAAAV0@ABV0@@Z
??4exception@@QAAAAV0@ABV0@@Z
??8type_info@@QBAHABV0@@Z
??9type_info@@QBAHABV0@@Z
??_7__non_rtti_object@@6B@ DATA
??_7bad_cast@@6B@ DATA
??_7bad_typeid@@6B@ DATA
??_7exception@@6B@ DATA
??_Fbad_cast@@QAAXXZ
??_Fbad_typeid@@QAAXXZ
??_U@YAPAXI@Z
??_U@YAPAXIHPBDH@Z
??_V@YAXPAX@Z
?_query_new_handler@@YAP6AHI@ZXZ
?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z
?_set_new_mode@@YAHH@Z
?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z
?before@type_info@@QBAHABV1@@Z
?name@type_info@@QBAPBDXZ
?raw_name@type_info@@QBAPBDXZ
?set_terminate@@YAP6AXXZP6AXXZ@Z
?set_unexpected@@YAP6AXXZP6AXXZ@Z
?terminate@@YAXXZ
?unexpected@@YAXXZ
?what@exception@@UBAPBDXZ
#endif

; List of ARM64 C++ mangled symbols
; TODO: Fill this list with all symbols from the first ARM64 version of msvcrt.dll


; This is list of symbols available in the original Microsoft Visual C++ 4.2 version of msvcrt.dll
; Same set of symbols are available in Windows NT 4.0 OS system version of msvcrt.dll
F_I386($I10_OUTPUT) ; $I10_OUTPUT is available also in Windows XP x64, but was removed in Windows Vista x64
#ifdef DEF_I386
_CIacos
_CIasin
_CIatan
_CIatan2
_CIcos
_CIcosh
_CIexp
_CIfmod
_CIlog
_CIlog10
_CIpow
_CIsin
_CIsinh
_CIsqrt
_CItan
_CItanh
#endif
F_I386(_CxxThrowException@8)
F_NON_I386(_CxxThrowException)
F_I386(_EH_prolog)
_Getdays
_Getmonths
_Gettnames
_HUGE DATA
_Strftime
_XcptFilter
F_X86_ANY(__CxxFrameHandler)
F_I386(__CxxLongjmpUnwind@4)
__RTCastToVoid
__RTDynamicCast
__RTtypeid
__STRINGTOLD
__argc DATA
__argv DATA
__badioinfo DATA
__crtCompareStringA
__crtGetLocaleInfoW
__crtLCMapStringA
__dllonexit
__doserrno
__fpecode
__getmainargs
F_X86_ANY(__initenv DATA)
__isascii
__iscsym
__iscsymf
F_X86_ANY(__lc_codepage DATA)
__lc_handle DATA
__lconv_init
__mb_cur_max DATA
#ifdef DEF_I386
__p___argc
__p___argv
__p___initenv
__p___mb_cur_max
__p___wargv
__p___winitenv
__p__acmdln
__p__amblksiz
__p__commode
__p__daylight
__p__dstbias
__p__environ
__p__fileinfo
__p__fmode
__p__iob
__p__mbctype
__p__osver
__p__pctype
__p__pgmptr
__p__pwctype
__p__timezone
__p__tzname
__p__wcmdln
__p__wenviron
__p__winmajor
__p__winminor
__p__winver
__p__wpgmptr
#endif
__pioinfo DATA
__pxcptinfoptrs
__set_app_type
F_X86_ANY(__setlc_active DATA)
__setusermatherr
F_X86_ANY(__threadhandle)
F_X86_ANY(__threadid)
__toascii
__unDName
F_X86_ANY(__unguarded_readlc_active DATA)
__wargv DATA
__wgetmainargs
F_X86_ANY(__winitenv DATA)
F_I386(_abnormal_termination)
_access
_acmdln DATA
#ifdef DEF_I386
_adj_fdiv_m16i@4
_adj_fdiv_m32@4
_adj_fdiv_m32i@4
_adj_fdiv_m64@8
_adj_fdiv_r
_adj_fdivr_m16i@4
_adj_fdivr_m32@4
_adj_fdivr_m32i@4
_adj_fdivr_m64@8
_adj_fpatan
_adj_fprem
_adj_fprem1
_adj_fptan
_adjust_fdiv DATA
#endif
_aexit_rtn DATA
_amsg_exit
_assert
_atodbl
_atoi64
_atoldbl
F_X86_ANY(_beep)
_beginthread
_beginthreadex
_c_exit
_cabs DATA
_callnewh
_cexit
_cgets
_chdir
_chdrive
_chgsign
_chmod
_chsize
_clearfp
_close
_commit
_commode DATA
_control87
_controlfp
_copysign
_cprintf
_cputs
_creat
_cscanf
_ctype F_I386(DATA)
_cwait
_daylight DATA
F_X86_ANY(_dstbias DATA)
_dup
_dup2
_ecvt
_endthread ; In Windows XP and Windows XP SP1 OS system version of msvcrt.dll this symbol has name _endthread@4, in all other versions (including XP SP3) it has standard name
_endthreadex ; In Windows XP and Windows XP SP1 OS system version of msvcrt.dll this symbol has name _endthreadex@4, in all other versions (including XP SP3) it has standard name
F_X86_ANY(_environ DATA)
_eof
_errno
F_I386(_except_handler2)
F_I386(_except_handler3)
_execl
_execle
_execlp
_execlpe
_execv
_execve
_execvp
_execvpe
_exit
_expand
_fcloseall
_fcvt
_fdopen
_fgetchar
_fgetwchar
_filbuf
F_X86_ANY(_fileinfo DATA)
_filelength
_filelengthi64
_fileno
_findclose
_findfirst
_findfirsti64
_findnext
_findnexti64
_finite
_flsbuf
_flushall
_fmode DATA
_fpclass
F_I386(_fpieee_flt)
F_ARM_ANY(_fpieee_flt)
_fpreset DATA
_fputchar
_fputwchar
_fsopen
_fstat
_fstati64
_ftime
F_I386(_ftol)
_fullpath
_futime
_gcvt
_get_osfhandle
F_X86_ANY(_get_sbh_threshold)
_getch
_getche
_getcwd
_getdcwd
_getdiskfree
F_I386(_getdllprocaddr) ; _getdllprocaddr is available also in Windows XP x64, but was removed in Windows Vista x64
_getdrive
F_X86_ANY(_getdrives)
_getmaxstdio
_getmbcp
F_X86_ANY(_getpid)
F_X86_ANY(_getsystime)
_getw
F_X86_ANY(_getws)
F_I386(_global_unwind2)
F_I386(_heapadd) ; _heapadd is available also in Windows XP x64, but was removed in Windows Vista x64
_heapchk
_heapmin
F_X86_ANY(_heapset)
F_I386(_heapused) ; _heapused is available also in Windows XP x64, but was removed in Windows Vista x64
_heapwalk
_hypot
_i64toa
_i64tow
_initterm
F_I386(_inp)
F_I386(_inpd)
F_I386(_inpw)
_iob DATA
_isatty
_isctype
_ismbbalnum
_ismbbalpha
_ismbbgraph
_ismbbkalnum
_ismbbkana
_ismbbkprint
_ismbbkpunct
_ismbblead
_ismbbprint
_ismbbpunct
_ismbbtrail
_ismbcalnum
_ismbcalpha
_ismbcdigit
_ismbcgraph
_ismbchira
_ismbckata
_ismbcl0
_ismbcl1
_ismbcl2
_ismbclegal
_ismbclower
_ismbcprint
_ismbcpunct
_ismbcspace
_ismbcsymbol
_ismbcupper
_ismbslead
_ismbstrail
_isnan
_itoa
_itow
_j0
_j1
_jn
_kbhit
_lfind
F_I386(_loaddll) ; _loaddll is available also in Windows XP x64, but was removed in Windows Vista x64
F_I386(_local_unwind2)
_lock
_locking
_logb
F_I386(_longjmpex)
_lrotl
_lrotr
_lsearch
_lseek
_lseeki64
_ltoa
_ltow
_makepath
_mbbtombc
_mbbtype
_mbccpy
_mbcjistojms
_mbcjmstojis
_mbclen
_mbctohira
_mbctokata
_mbctolower
_mbctombb
_mbctoupper
_mbctype DATA
_mbsbtype
_mbscat
_mbschr
_mbscmp
_mbscoll
_mbscpy
_mbscspn
_mbsdec
_mbsdup
_mbsicmp
_mbsicoll
_mbsinc
_mbslen
_mbslwr
_mbsnbcat
_mbsnbcmp
_mbsnbcnt
_mbsnbcoll
_mbsnbcpy
_mbsnbicmp
_mbsnbicoll
_mbsnbset
_mbsncat
_mbsnccnt
_mbsncmp
_mbsncoll
_mbsncpy
_mbsnextc
_mbsnicmp
_mbsnicoll
_mbsninc
_mbsnset
_mbspbrk
_mbsrchr
_mbsrev
_mbsset
_mbsspn
_mbsspnp
_mbsstr
_mbstok
_mbstrlen
_mbsupr
_memccpy
_memicmp
_mkdir
_mktemp
_msize
_nextafter
_onexit
_open
_open_osfhandle
_osver DATA
F_I386(_outp)
F_I386(_outpd)
F_I386(_outpw)
_pclose
_pctype DATA
_pgmptr DATA
_pipe
_popen
_purecall
_putch
_putenv
_putw
_putws
_pwctype DATA
_read
_rmdir
_rmtmp
_rotl
_rotr
#ifdef DEF_I386
_safe_fdiv
_safe_fdivr
_safe_fprem
_safe_fprem1
#endif
_scalb
_searchenv
F_I386(_seh_longjmp_unwind@4)
_set_error_mode
F_X86_ANY(_set_sbh_threshold)
F_X86_ANY(_seterrormode)
_setjmp
F_I386(_setjmp3)
F_X86_ANY(_setmaxstdio)
_setmbcp
_setmode
F_X86_ANY(_setsystime)
F_X86_ANY(_sleep)
_snprintf
_snwprintf
_sopen
_spawnl
_spawnle
_spawnlp
_spawnlpe
_spawnv
_spawnve
_spawnvp
_spawnvpe
_splitpath
_stat
_stati64
_statusfp
_strcmpi
_strdate
_strdup
_strerror
_stricmp
_stricoll
_strlwr
_strncoll
_strnicmp
_strnicoll
_strnset
_strrev
_strset
_strtime
_strupr
_swab
_sys_errlist DATA
_sys_nerr DATA
_tell
_telli64
_tempnam
_timezone DATA
_tolower
_toupper
_tzname DATA
_tzset
_ui64toa
_ui64tow
_ultoa
_ultow
_umask
_ungetch
_unlink
F_I386(_unloaddll) ; _unloaddll is available also in Windows XP x64, but was removed in Windows Vista x64
_unlock
_utime
_vsnprintf
_vsnwprintf
_waccess
_wasctime
_wchdir
_wchmod
_wcmdln DATA
_wcreat
_wcsdup
_wcsicmp
_wcsicoll
_wcslwr
_wcsncoll
_wcsnicmp
_wcsnicoll
_wcsnset
_wcsrev
_wcsset
_wcsupr
_wctime
F_X86_ANY(_wenviron DATA)
_wexecl
_wexecle
_wexeclp
_wexeclpe
_wexecv
_wexecve
_wexecvp
_wexecvpe
_wfdopen
_wfindfirst
_wfindfirsti64
_wfindnext
_wfindnexti64
_wfopen
_wfreopen
_wfsopen
_wfullpath
_wgetcwd
_wgetdcwd
_wgetenv
_winmajor DATA
_winminor DATA
F_X86_ANY(_winver DATA)
_wmakepath
_wmkdir
_wmktemp
_wopen
_wperror
_wpgmptr DATA
_wpopen
_wputenv
_wremove
_wrename
_write
_wrmdir
_wsearchenv
_wsetlocale
_wsopen
_wspawnl
_wspawnle
_wspawnlp
_wspawnlpe
_wspawnv
_wspawnve
_wspawnvp
_wspawnvpe
_wsplitpath
_wstat
_wstati64
_wstrdate
_wstrtime
_wsystem
_wtempnam
_wtmpnam
_wtoi
_wtoi64
_wtol
_wunlink
_wutime
_y0
_y1
_yn
abort
abs
acos
asctime
asin
atan
atan2 F_X86_ANY(DATA)
atexit DATA
atof
atoi
atol
bsearch
calloc
ceil F_X86_ANY(DATA)
clearerr
clock
cos F_X86_ANY(DATA)
cosh
ctime
difftime
div
exit
exp F_X86_ANY(DATA)
fabs DATA
fclose
feof
ferror
fflush
fgetc
fgetpos
fgets
fgetwc
fgetws
floor F_X86_ANY(DATA)
fmod F_X86_ANY(DATA)
fopen
fprintf
fputc
fputs
fputwc
fputws
fread
free
freopen
frexp DATA
fscanf
fseek
fsetpos
ftell
fwprintf
fwrite
fwscanf
getc
getchar
getenv
F_X86_ANY(gets)
getwc
getwchar
gmtime
is_wctype
isalnum
isalpha
iscntrl
isdigit
isgraph
isleadbyte
islower
isprint
ispunct
isspace
isupper
iswalnum
iswalpha
iswascii
iswcntrl
iswctype
iswdigit
iswgraph
iswlower
iswprint
iswpunct
iswspace
iswupper
iswxdigit
isxdigit
labs
ldexp F_X86_ANY(DATA)
ldiv
localeconv
localtime
log F_X86_ANY(DATA)
log10
longjmp
malloc
mblen
mbstowcs
mbtowc
memchr
memcmp
memcpy
memmove
memset
mktime
modf DATA
perror
pow DATA
printf
putc
putchar
puts
putwc
putwchar
qsort
raise
rand
realloc
remove
rename
rewind
scanf
setbuf
setlocale
setvbuf
signal
sin F_X86_ANY(DATA)
sinh ; if we implement sinh, we can set it DATA only.
sprintf
sqrt DATA
srand
sscanf
strcat
strchr
strcmp
strcoll
strcpy
strcspn
strerror
strftime
strlen
strncat
strncmp
strncpy
strpbrk
strrchr
strspn
strstr
strtod
strtok
strtol
strtoul
strxfrm
swprintf
swscanf
system
tan
tanh ; if we implement tanh, we can set it to DATA only.
time
tmpfile
tmpnam
tolower
toupper
towlower
towupper
ungetc
ungetwc
vfprintf
vfwprintf
vprintf
vsprintf
vswprintf
vwprintf
wcscat
wcschr
wcscmp
wcscoll
wcscpy
wcscspn
wcsftime
wcslen
wcsncat
wcsncmp
wcsncpy
wcspbrk
wcsrchr
wcsspn
wcsstr
wcstod
wcstok
wcstol
wcstombs
wcstoul
wcsxfrm
wctomb
wprintf
wscanf

; These symbols were added in Microsoft Visual C++ 5.0 SP1 and Windows 98 First Edition OS system versions of msvcrt.dll
; They are not available in Microsoft Visual C++ 4.2, nor in 5.0 and neither in Windows NT 4.0 OS system version
F_I386(__p__mbcasemap)
_mbcasemap F_NON_I386(DATA)

; These symbols were added in Microsoft Visual C++ 6.0 and Windows 98 Second Edition OS system versions of msvcrt.dll
F_X86_ANY(__lc_collate_cp DATA)
__unDNameEx
F_I386(_chkesp)

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This is end of the list of symbols available in the original Microsoft Visual C++ versions of msvcrt.dll ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


; These symbols were added in Windows ME and Windows 2000 OS system versions of msvcrt.dll
#ifdef DEF_I386
; void *__cdecl operator new[](unsigned int)
??_U@YAPAXI@Z
; void __cdecl operator delete[](void *)
??_V@YAXPAX@Z
#endif
_ctime64
_findfirst64
_findnext64
_fstat64
_ftime64
_futime64
_gmtime64
_localtime64
_mktime64
F_X86_ANY(_osplatform DATA)
_stat64
_time64
_utime64
_wctime64
_wfindfirst64
_wfindnext64
_wstat64
_wutime64

; These symbols were added in Windows 2000 SP4 OS system version of msvcrt.dll
F_X86_ANY(_get_heap_handle) ; _get_heap_handle is not available in Windows XP and Windows XP SP1 OS system versions of msvcrt.dll, but is in XP SP3

; These symbols were added in Windows XP OS system version of msvcrt.dll
#ifdef DEF_I386
; private: __thiscall bad_cast::bad_cast(char const *const *)
??0bad_cast@@AAE@PBQBD@Z ; has WINAPI (@4)
; public: __thiscall bad_cast::bad_cast(char const *)
??0bad_cast@@QAE@PBD@Z ; has WINAPI (@4)
; public: void __thiscall bad_cast::__dflt_ctor_closure(void)
??_Fbad_cast@@QAEXXZ
; public: void __thiscall bad_typeid::__dflt_ctor_closure(void)
??_Fbad_typeid@@QAEXXZ
#endif
__uncaught_exception
F_I386(__CxxCallUnwindDtor)
F_I386(__CxxDetectRethrow)
F_I386(__CxxExceptionFilter)
F_I386(__CxxQueryExceptionSize)
F_I386(__CxxRegisterExceptionObject)
F_I386(__CxxUnregisterExceptionObject)
__DestructExceptionObject
F_NON_I386(___lc_codepage_func) ; i386 ___lc_codepage_func replaced by emu
___lc_handle_func
F_NON_I386(___mb_cur_max_func) ; i386 ___mb_cur_max_func replaced by emu
F_X86_ANY(___setlc_active_func)
F_X86_ANY(___unguarded_readlc_active_add_func)
__crtCompareStringW
__crtGetStringTypeW
__crtLCMapStringW
__iob_func
__pctype_func
__wcserror
_aligned_free
_aligned_malloc
_aligned_offset_malloc
_aligned_offset_realloc
_aligned_realloc
_cgetws
_cputws
_cwprintf
_cwscanf
_getwch
_getwche
_putwch
_resetstkoflw
F_NON_I386(_scprintf) ; i386 _scprintf replaced by emu
_scwprintf
F_I386(_set_SSE2_enable)
_snscanf
_snwscanf
_strtoi64
_strtoui64
_ungetwch
F_NON_I386(_vscprintf) ; i386 _vscprintf replaced by emu
_vscwprintf
_wcserror
_wcstoi64
_wcstoui64
_wtof

; These symbols were added in Windows Server 2003 OS system version of msvcrt.dll
; They are not available in 32-bit Windows XP but are available in 32-bit Windows Vista
F_I386(__CxxCallUnwindVecDtor)
__CxxFrameHandler2
___lc_collate_cp_func
__pwctype_func
F_NON_I386(_abs64) ; i386 _abs64 replaced by emu
_mkgmtime
_mkgmtime64
F_NON_I386(_rotl64) ; i386 _rotl64 replaced by emu
F_NON_I386(_rotr64) ; i386 _rotr64 replaced by emu
_wctype

; These symbols were added in Windows Server 2003 SP1 and Windows XP x64 OS system version of msvcrt.dll
#ifdef DEF_I386
; public: __thiscall exception::exception(char const *const &,int)
??0exception@@QAE@ABQBDH@Z ; has WINAPI (@8)
#endif
F_NON_I386(__C_specific_handler)
__CppXcptFilter
F_NON_I386(_chgsignf)
F_NON_I386(_copysignf)
F_NON_I386(_finitef)
F_X64(_fpclassf)
F_NON_I386(_hypotf)
F_X64(_isnanf)
F_X64(_local_unwind)
F_NON_I386(_logbf)
F_X64(_nextafterf)
F_X64(_scalbf)
F_NON_I386(_setjmpex)
F_NON_I386(acosf F_X86_ANY(DATA)) ; i386 acosf provided by emu
F_NON_I386(asinf F_X86_ANY(DATA)) ; i386 asinf provided by emu
F_NON_I386(atan2f F_X86_ANY(DATA)) ; i386 atan2f provided by emu
F_NON_I386(atanf F_X86_ANY(DATA)) ; i386 atanf provided by emu
F_NON_I386(ceilf F_X86_ANY(DATA)) ; i386 ceilf provided by emu
F_NON_I386(cosf F_X86_ANY(DATA)) ; i386 cosf provided by emu
F_NON_I386(coshf DATA) ; i386 coshf provided by emu
F_NON_I386(expf F_X86_ANY(DATA)) ; i386 expf provided by emu
F_NON_I386(floorf F_X86_ANY(DATA)) ; i386 floorf provided by emu
F_NON_I386(fmodf F_X86_ANY(DATA)) ; i386 fmodf provided by emu
F_NON_I386(log10f F_X86_ANY(DATA)) ; i386 log10f provided by emu
F_NON_I386(logf F_X86_ANY(DATA)) ; i386 logf provided by emu
F_NON_I386(modff DATA) ; i386 modff provided by emu
F_NON_I386(powf DATA) ; i386 powf provided by emu
F_NON_I386(setjmp)
F_NON_I386(sinf F_X86_ANY(DATA)) ; i386 sinf provided by emu
F_NON_I386(sinhf DATA) ; i386 sinhf provided by emu
F_NON_I386(sqrtf DATA) ; i386 sqrtf provided by emu
F_NON_I386(tanf F_X86_ANY(DATA)) ; i386 tanf provided by emu

; These symbols were added in Windows Vista OS system version of msvcrt.dll
#ifdef DEF_I386
; void *__cdecl operator new(unsigned int,int,char const *,int)
??2@YAPAXIHPBDH@Z
; void *__cdecl operator new[](unsigned int,int,char const *,int)
??_U@YAPAXIHPBDH@Z
#endif
#ifdef DEF_X64
; private: __thiscall bad_cast::bad_cast(char const *const *)
??0bad_cast@@AAE@PBQBD@Z
; public: __thiscall bad_cast::bad_cast(char const *const &)
??0bad_cast@@QAE@ABQBD@Z
; void *__ptr64 __cdecl operator new(unsigned __int64,int,char const *__ptr64,int)
??2@YAPEAX_KHPEBDH@Z
; void *__ptr64 __cdecl operator new[](unsigned __int64,int,char const *__ptr64,int)
??_U@YAPEAX_KHPEBDH@Z
#endif
_CrtCheckMemory
_CrtDbgBreak
_CrtDbgReport
_CrtDbgReportV
_CrtDbgReportW
_CrtDbgReportWV
_CrtDoForAllClientObjects
_CrtDumpMemoryLeaks
_CrtIsMemoryBlock
_CrtIsValidHeapPointer
_CrtIsValidPointer
_CrtMemCheckpoint
_CrtMemDifference
_CrtMemDumpAllObjectsSince
_CrtMemDumpStatistics
_CrtReportBlockType
_CrtSetAllocHook
_CrtSetBreakAlloc
_CrtSetDbgBlockType
_CrtSetDbgFlag
_CrtSetDumpClient
_CrtSetReportFile
_CrtSetReportHook
_CrtSetReportHook2
_CrtSetReportMode
F_I386(__CxxCallUnwindDelDtor)
__CxxFrameHandler3
__daylight
__dstbias
#ifdef DEF_I386
__libm_sse2_acos
__libm_sse2_acosf
__libm_sse2_asin
__libm_sse2_asinf
__libm_sse2_atan
__libm_sse2_atan2
__libm_sse2_atanf
__libm_sse2_cos
__libm_sse2_cosf
__libm_sse2_exp
__libm_sse2_expf
__libm_sse2_log
__libm_sse2_log10
__libm_sse2_log10f
__libm_sse2_logf
__libm_sse2_pow
__libm_sse2_powf
__libm_sse2_sin
__libm_sse2_sinf
__libm_sse2_tan
__libm_sse2_tanf
#endif
__strncnt
__wcserror_s
__wcsncnt
; _access_s replaced by emu
_aligned_free_dbg
_aligned_malloc_dbg
_aligned_offset_malloc_dbg
_aligned_offset_realloc_dbg
_aligned_realloc_dbg
_atodbl_l
_atof_l
_atoflt_l
_atoi64_l
_atoi_l
_atol_l
_atoldbl_l
_calloc_dbg
; _cgets_s replaced by emu
; _cgetws_s replaced by emu
; _chsize_s replaced by emu
_chvalidator
_chvalidator_l
; _controlfp_s replaced by emu
_cprintf_l
_cprintf_p
_cprintf_p_l
; _cprintf_s replaced by emu
; _cprintf_s_l replaced by emu
_crtAssertBusy
_crtBreakAlloc
_crtDbgFlag
_cscanf_l
_cscanf_s
_cscanf_s_l
_ctime32 F_I386(== ctime) ; i386 _ctime32 replaced by alias
; _ctime32_s replaced by emu
; _ctime64_s replaced by emu
_cwprintf_l
_cwprintf_p
_cwprintf_p_l
; _cwprintf_s replaced by emu
; _cwprintf_s_l replaced by emu
_cwscanf_l
_cwscanf_s
_cwscanf_s_l
_difftime32 F_I386(== difftime) ; i386 _difftime32 replaced by alias
_difftime64 F_X64(== difftime) ; x64 _difftime64 replaced by alias
_ecvt_s
F_I386(_except_handler4_common)
_expand_dbg
_fcvt_s
_fprintf_l
_fprintf_p
_fprintf_p_l
_fprintf_s_l
_free_dbg
_freea
_freea_s
_fscanf_l
_fscanf_s_l
F_ARM_ANY(_fseeki64) ; i386 and x64 _fseeki64 replaced by emu
_ftime32 F_I386(== _ftime) ; i386 _ftime32 replaced by alias
_ftime32_s
_ftime64_s
F_I386(_ftol2)
F_I386(_ftol2_sse)
F_I386(_ftol2_sse_excpt)
_fullpath_dbg
_futime32 F_I386(== _futime) ; i386 _futime32 replaced by alias
_fwprintf_l
_fwprintf_p
_fwprintf_p_l
_fwprintf_s_l
_fwscanf_l
_fwscanf_s_l
_gcvt_s
_get_doserrno
_get_environ
F_ARM_ANY(_get_errno) ; i386 and x64 _get_errno replaced by emu
_get_fileinfo
_get_fmode
F_X86_ANY(_get_osplatform)
F_X86_ANY(_get_osver)
; _get_output_format replaced by emu
_get_pgmptr
_get_wenviron
F_X86_ANY(_get_winmajor)
F_X86_ANY(_get_winminor)
F_X86_ANY(_get_winver)
_get_wpgmptr
_gmtime32 F_I386(== gmtime) ; i386 _gmtime32 replaced by alias
; _gmtime32_s replaced by emu
; _gmtime64_s replaced by emu
_i64toa_s
_i64tow_s
_initterm_e
_invalid_parameter
_isalnum_l
_isalpha_l
_iscntrl_l
_isctype_l
_isdigit_l
_isgraph_l
_isleadbyte_l
_islower_l
_ismbbalnum_l
_ismbbalpha_l
_ismbbgraph_l
_ismbbkalnum_l
_ismbbkana_l
_ismbbkprint_l
_ismbbkpunct_l
_ismbblead_l
_ismbbprint_l
_ismbbpunct_l
_ismbbtrail_l
_ismbcalnum_l
_ismbcalpha_l
_ismbcdigit_l
_ismbcgraph_l
_ismbchira_l
_ismbckata_l
_ismbcl0_l
_ismbcl1_l
_ismbcl2_l
_ismbclegal_l
_ismbclower_l
_ismbcprint_l
_ismbcpunct_l
_ismbcspace_l
_ismbcsymbol_l
_ismbcupper_l
_ismbslead_l
_ismbstrail_l
_isprint_l
_isspace_l
_isupper_l
_iswalnum_l
_iswalpha_l
_iswcntrl_l
_iswctype_l
_iswdigit_l
_iswgraph_l
_iswlower_l
_iswprint_l
_iswpunct_l
_iswspace_l
_iswupper_l
_iswxdigit_l
_isxdigit_l
_itoa_s
_itow_s
_lfind_s
F_I386(_local_unwind4)
_localtime32 F_I386(== localtime) ; i386 _localtime32 replaced by alias
; _localtime32_s replaced by emu
; _localtime64_s replaced by emu
_lsearch_s
_ltoa_s
_ltow_s
_makepath_s
_malloc_dbg
_mbbtombc_l
_mbccpy_l
_mbccpy_s
_mbccpy_s_l
_mbcjistojms_l
_mbcjmstojis_l
_mbclen_l
_mbctohira_l
_mbctokata_l
_mbctolower_l
_mbctombb_l
_mbctoupper_l
_mblen_l
_mbsbtype_l
_mbscat_s
_mbscat_s_l
_mbschr_l
_mbscmp_l
_mbscoll_l
_mbscpy_s
_mbscpy_s_l
_mbscspn_l
_mbsdec_l
_mbsicmp_l
_mbsicoll_l
_mbsinc_l
_mbslen_l
_mbslwr_l
_mbslwr_s
_mbslwr_s_l
_mbsnbcat_l
_mbsnbcat_s
_mbsnbcat_s_l
_mbsnbcmp_l
_mbsnbcnt_l
_mbsnbcoll_l
_mbsnbcpy_l
_mbsnbcpy_s
_mbsnbcpy_s_l
_mbsnbicmp_l
_mbsnbicoll_l
_mbsnbset_l
_mbsnbset_s
_mbsnbset_s_l
_mbsncat_l
_mbsncat_s
_mbsncat_s_l
_mbsnccnt_l
_mbsncmp_l
_mbsncoll_l
_mbsncpy_l
_mbsncpy_s
_mbsncpy_s_l
_mbsnextc_l
_mbsnicmp_l
_mbsnicoll_l
_mbsninc_l
_mbsnlen_l
_mbsnset_l
_mbsnset_s
_mbsnset_s_l
_mbspbrk_l
_mbsrchr_l
_mbsrev_l
_mbsset_l
_mbsset_s
_mbsset_s_l
_mbsspn_l
_mbsspnp_l
_mbsstr_l
_mbstok_l
_mbstok_s
_mbstok_s_l
_mbstowcs_l
_mbstowcs_s_l
_mbstrlen_l
_mbstrnlen_l
_mbsupr_l
_mbsupr_s
_mbsupr_s_l
_mbtowc_l
_mbsnlen
_mbstrnlen
_memicmp_l
_mkgmtime32 F_I386(== _mkgmtime) ; i386 _mkgmtime32 replaced by alias
; _mktemp_s replaced by emu
_mktime32 F_I386(== mktime) ; i386 _mktime32 replaced by alias
F_NON_I386(_msize_dbg)
F_I386(_msize_debug)
_printf_l
_printf_p
_printf_p_l
_printf_s_l
_putenv_s
_realloc_dbg
_scanf_l
_scanf_s_l
_scprintf_l
_scprintf_p_l
_scwprintf_l
_scwprintf_p_l
_searchenv_s
F_I386(_seh_longjmp_unwind4@4)
_set_controlfp
_set_doserrno
F_ARM_ANY(_set_errno) ; i386 and x64 _set_errno replaced by emu
_set_fileinfo
_set_fmode
; _set_output_format replaced by emu
_snprintf_c
_snprintf_c_l
_snprintf_l
_snprintf_s
_snprintf_s_l
_snscanf_l
_snscanf_s
_snscanf_s_l
_snwprintf_l
_snwprintf_s
_snwprintf_s_l
_snwscanf_l
_snwscanf_s
_snwscanf_s_l
; _sopen_s replaced by emu
_splitpath_s
_sprintf_l
_sprintf_p_l
_sprintf_s_l
_sscanf_l
_sscanf_s_l
_strcoll_l
; _strdate_s replaced by emu
_strdup_dbg
_strerror_s
_stricmp_l
_stricoll_l
_strlwr_l
_strlwr_s
_strlwr_s_l
_strncoll_l
_strnicmp_l
_strnicoll_l
_strnset_s
_strset_s
; _strtime_s replaced by emu
_strtod_l
_strtoi64_l
_strtol_l
_strtoui64_l
_strtoul_l
_strupr_l
_strupr_s
_strupr_s_l
_strxfrm_l
_swprintf == swprintf ; replaced by alias to swprintf
_swprintf_c
_swprintf_c_l
_swprintf_p_l
_swprintf_s_l
_swscanf_l
_swscanf_s_l
_tempnam_dbg
_time32 F_I386(== time) ; i386 _time32 replaced by alias
_tolower_l
_toupper_l
_towlower_l
_towupper_l
_ui64toa_s
_ui64tow_s
_ultoa_s
_ultow_s
; _umask_s replaced by emu
_utime32 F_I386(== _utime) ; i386 _utime32 replaced by alias
_vcprintf
_vcprintf_l
_vcprintf_p
_vcprintf_p_l
; _vcprintf_s replaced by emu
; _vcprintf_s_l replaced by emu
_vcwprintf
_vcwprintf_l
_vcwprintf_p
_vcwprintf_p_l
; _vcwprintf_s replaced by emu
; _vcwprintf_s_l replaced by emu
_vfprintf_l
_vfprintf_p
_vfprintf_p_l
_vfprintf_s_l
_vfwprintf_l
_vfwprintf_p
_vfwprintf_p_l
_vfwprintf_s_l
_vprintf_l
_vprintf_p
_vprintf_p_l
_vprintf_s_l
_vscprintf_l
_vscprintf_p_l
_vscwprintf_l
_vscwprintf_p_l
_vsnprintf_c
_vsnprintf_c_l
_vsnprintf_l
_vsnprintf_s
_vsnprintf_s_l
_vsnwprintf_l
_vsnwprintf_s
_vsnwprintf_s_l
_vsprintf_l
_vsprintf_p
_vsprintf_p_l
_vsprintf_s_l
_vswprintf F_I386(== vswprintf) ; i386 _vswprintf replaced by alias
_vswprintf_c
_vswprintf_c_l
_vswprintf_l
_vswprintf_p_l
_vswprintf_s_l
_vwprintf_l
_vwprintf_p
_vwprintf_p_l
_vwprintf_s_l
; _waccess_s replaced by emu
; _wasctime_s replaced by emu
F_NON_I386(_wassert) ; i386 _wassert replaced by emu
_wcscoll_l
_wcsdup_dbg
_wcserror_s
_wcsftime_l
_wcsicmp_l
_wcsicoll_l
_wcslwr_l
_wcslwr_s
_wcslwr_s_l
_wcsncoll_l
_wcsnicmp_l
_wcsnicoll_l
_wcsnset_s
_wcsset_s
_wcstoi64_l
_wcstol_l
_wcstombs_l
_wcstombs_s_l
_wcstoui64_l
_wcstoul_l
_wcsupr_l
_wcsupr_s
_wcsupr_s_l
_wcsxfrm_l
_wctime32 F_I386(== _wctime) ; i386 _wctime32 replaced by alias
; _wctime32_s replaced by emu
; _wctime64_s replaced by emu
_wctomb_l
_wctomb_s_l
_wfopen_s
_wfreopen_s
_wfullpath_dbg
_wgetenv_s
_winput_s
_wmakepath_s
; _wmktemp_s replaced by emu
_woutput_s
_wprintf_l
_wprintf_p
_wprintf_p_l
_wprintf_s_l
_wputenv_s
_wscanf_l
_wscanf_s_l
_wsearchenv_s
_wsopen_s
_wsplitpath_s
; _wstrdate_s replaced by emu
; _wstrtime_s replaced by emu
_wtempnam_dbg
_wtmpnam_s
_wtof_l
_wtoi64_l
_wtoi_l
_wtol_l
_wutime32 F_I386(== _wutime) ; i386 _wutime32 replaced by alias
; asctime_s replaced by emu
bsearch_s
F_ARM_ANY(btowc) ; i386 and x64 btowc replaced by emu
clearerr_s
fopen_s
fprintf_s
freopen_s
fscanf_s
fwprintf_s
fwscanf_s
getenv_s
F_ARM_ANY(mbrlen) ; i386 and x64 mbrlen replaced by emu
F_ARM_ANY(mbrtowc) ; i386 and x64 mbrtowc replaced by emu
mbsdup_dbg
F_ARM_ANY(mbsrtowcs) ; i386 and x64 mbsrtowcs replaced by emu
mbsrtowcs_s
mbstowcs_s
; memcpy_s replaced by emu
; memmove_s replaced by emu
printf_s
qsort_s
; rand_s replaced by emu
scanf_s
; sprintf_s replaced by emu
sscanf_s
strcat_s
strcpy_s
; strerror_s replaced by emu
strncat_s
strncpy_s
; strnlen replaced by emu
strtok_s
swprintf_s
swscanf_s
F_ARM_ANY(tanhf) ; i386 tanhf provided by emu and x64 tanhf replaced by emu
tmpfile_s
tmpnam_s
F_ARM_ANY(utime) ; i386 and x64 utime replaced by alias in msvcrt-common.def.in
vfprintf_s
vfwprintf_s
vprintf_s
; vsnprintf replaced by emu
; vsprintf_s replaced by emu
vswprintf_s
vwprintf_s
F_ARM_ANY(wcrtomb) ; i386 and x64 wcrtomb replaced by emu
wcrtomb_s
wcscat_s
wcscpy_s
wcsncat_s
wcsncpy_s
F_ARM_ANY(wcsnlen) ; i386 and x64 wcsnlen replaced by emu
F_ARM_ANY(wcsrtombs) ; i386 and x64 wcsrtombs replaced by emu
wcsrtombs_s
wcstok_s
wcstombs_s
F_ARM_ANY(wctob) ; i386 and x64 wctob replaced by emu
wctomb_s
wprintf_s
wscanf_s

; These symbols were added in Windows 8 OS system version of msvcrt.dll
F_ARM_ANY(_create_locale) ; i386 and x64 _create_locale replaced by emu
F_ARM_ANY(_free_locale) ; i386 and x64 _free_locale replaced by emu
F_ARM_ANY(_get_current_locale) ; i386 and x64 _get_current_locale replaced by emu
_wcstod_l

; These symbols were added in Windows 8.1 OS system version of msvcrt.dll
F_I386(_CallMemberFunction0@8)
F_ARM32(_CallMemberFunction0)
F_I386(_CallMemberFunction1@12)
F_ARM32(_CallMemberFunction1)
F_I386(_CallMemberFunction2@16)
F_ARM32(_CallMemberFunction2)
__ExceptionPtrAssign
__ExceptionPtrCompare
__ExceptionPtrCopy
__ExceptionPtrCopyException
__ExceptionPtrCreate
__ExceptionPtrCurrentException
__ExceptionPtrDestroy
__ExceptionPtrRethrow
__ExceptionPtrSwap
__ExceptionPtrToBool
_W_Getdays
_W_Getmonths
_W_Gettnames
_Wcsftime
__AdjustPointer
#ifdef DEF_I386
_libm_sse2_acos_precise
_libm_sse2_asin_precise
_libm_sse2_atan_precise
_libm_sse2_cos_precise
_libm_sse2_exp_precise
_libm_sse2_log10_precise
_libm_sse2_log_precise
_libm_sse2_pow_precise
_libm_sse2_sin_precise
_libm_sse2_sqrt_precise
_libm_sse2_tan_precise
#endif

; These symbols were added in Windows 10 OS system version of msvcrt.dll
; TODO: fill them

; This is list of some symbols not available on X86 but are available in some ARM version of msvcrt.dll
; TODO: move them to appropriate OS system version section (version in which they were introduced)
F_ARM_ANY(_memcpy_strict_align)
F_ARM_ANY(fabsf) ; i386 and x64 fabsf provided by emu

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; This is end of the list of symbols available in the Windows OS system versions of msvcrt.dll ;
; All symbols defined below this line are not available in any version of msvcrt.dll library   ;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


; This is list of some symbols added in msvcr80.dll which can be defined as aliases to some msvcrt.dll symbols
F32(_findfirst32 == _findfirst)
F32(_findfirst32i64 == _findfirsti64)
F64(_findfirst64i32 == _findfirst)
F32(_findnext32 == _findnext)
F32(_findnext32i64 == _findnexti64)
F64(_findnext64i32 == _findnext)
F32(_fstat32 == _fstat)
F64(_fstat64i32 == _fstat)
F32(_stat32 == _stat)
F64(_stat64i32 == _stat)
F32(_wfindfirst32 == _wfindfirst)
F32(_wfindfirst32i64 == _wfindfirsti64)
F64(_wfindfirst64i32 == _wfindfirst)
F32(_wfindnext32 == _wfindnext)
F32(_wfindnext32i64 == _wfindnexti64)
F64(_wfindnext64i32 == _wfindnext)
F32(_wstat32 == _wstat)
F64(_wstat64i32 == _wstat)

; This is list of some symbols added in msvcr120.dll which can be defined as aliases to some msvcrt.dll symbols
_atoll_l == _atoi64_l
_strtoimax_l == _strtoi64_l
_strtoll_l == _strtoi64_l
_strtoull_l == _strtoui64_l
_strtoumax_l == _strtoui64_l
atoll == _atoi64
F_NON_I386(imaxabs == _abs64) ; i386 imaxabs alias provided by emu
F_NON_I386(llabs == _abs64) ; i386 llabs alias provided by emu
strtoimax == _strtoi64
strtoll == _strtoi64
strtoull == _strtoui64
strtoumax == _strtoui64

; This is list of internal symbol aliases for printf/scanf functions used by mingw
__ms_fprintf == fprintf
__ms_fscanf == fscanf
__ms_fwprintf == fwprintf
__ms_fwscanf == fwscanf
__ms_printf == printf
__ms_scanf == scanf
__ms_sprintf == sprintf
__ms_sscanf == sscanf
__ms_swprintf == swprintf
__ms_swscanf == swscanf
__ms_vfprintf == vfprintf
__ms_vfwprintf == vfwprintf
__ms_vprintf == vprintf
__ms_vsprintf == vsprintf
__ms_vswprintf == vswprintf
__ms_vwprintf == vwprintf
__ms_wprintf == wprintf
__ms_wscanf == wscanf

; This is list of additional symbol aliases not available in any CRT library
; FIXME: check if these really are needed
F32(_ftime_s == _ftime32_s)
F64(_ftime_s == _ftime64_s)
snwprintf == _snwprintf
vsnwprintf == _vsnwprintf

; This is list of ARM long double symbols defined as alias to regular double symbols as on ARM, long double is equal to regular double
F_ARM_ANY(acosl == acos)
F_ARM_ANY(asinl == asin)
F_ARM_ANY(atan2l == atan2)
F_ARM_ANY(atanl == atan)
F_ARM_ANY(ceill == ceil)
F_ARM_ANY(cosl == cos)
F_ARM_ANY(expl == exp)
F_ARM_ANY(floorl == floor)
F_ARM_ANY(fmodl == fmod)
F_ARM_ANY(log10l == log10)
F_ARM_ANY(logl == log)
F_ARM_ANY(sinl == sin)
F_ARM_ANY(tanl == tan)
