reactos/dll/win32/msvcrt/msvcrt.spec
Timo Kreuzer 3a61dd7fe7
[CRT] Sync wine code to wine-7.0 (#7520)
* [WINESYNC] msvcrt: Respect allocation mode in malloc.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70ac780e6ed26380fd2fcdfbb96352ca8548bc79 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _callnewh in operator new implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7e9cba139d30d3b48567baaf6a8b901143c738e7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Reimplement _set_new_mode function.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6113a251ef3955f2ac3436d90a523faf4c03bc0a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ucrtbase: Change ptd fields offsets to match with native.

Makes it possible to use native vcruntime140_1.dll.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9b94e4c80580325e62097ed6c08cc37c28575470 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use __ASM_BLOCK_BEGIN and __ASM_BLOCK_END macros.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3f8ac955de59da9f81a17ccf9d20c7402d6b1773 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Use __ASM_USE_THISCALL_WRAPPER macro.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 95e117b3dcd604b544b816c230a4ee8252f0f2f9 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Use internal sprintf implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bfa1e3ef8f592d74f1dfcc89ba940946ad327591 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Print assertion failure messages to stderr.

This matches Windows behaviour. In particular, redirecting stderr with freopen()
followed by assert(0) will print the failure message to the relevant file.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 3533605293e8083dae19c5fbd41e2077faf5adc6 by Zebediah Figura <z.figura12@gmail.com>

* [WINESYNC] msvcrt: Don't use strncmpW in msvcrt_get_flags.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c6f19b121e74935689eb9666d0d21729a713c2ad by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _wcsnicmp instead of strnicmpW.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 54b2a10659871032720df31ae9ca6cba2ff4acf0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use tolowerW in _tolower_l.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0b35b779151d766f6741bc32d3b6d3c8d81f1cc4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use tolowerW.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bc47bff4a888872363005da93fe0b714493c835b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use toupperW.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a81f55093e11a12c25938dada2e3d7f0c8dfe86c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcalnum_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 19c05e60a3cbb7dfa040b919e8783d571fc6ae01 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcdigit_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fd74aeb726e65c62a9e110bdbf282549cb8afce0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcgraph_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 71cd3d5e8ce831abe5f601671b307ecff8692f01 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcalpha_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5f294e34d6eab6a217991994443c347aa44684b7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbclower_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1ad209428442e5c571b8a8478c3821e6c303b3a9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcupper_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 95b3ff9f74ada220295128ceee34a8e191b93baa by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcprint_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1750a6969becfb02f0fee9447878d4374db652ab by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add _ismbcpunct_l implementation.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 986aa52fc41e1cf022cc72a0f40996937bb567dc by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use get_char_typeW in _iswctype_l.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 068a419e4219c5bb5d8156ff9177676d9c174021 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Copy wcscat implementation from ntdll.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c5bf68a5e7525ae9c50ee0dfc6d819da79c4861 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use wine/unicode.h header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 536be09b8449537925ad4635a06ae45283075c2e by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Introduce fpnum structure that can be used to represent 64 and 80-bit double.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 450015781e7ad45a79df01225ee75271563317ce by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Don't use strtold in __STRINGTOLD_L.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a22adf1893d510660d7eeea5ef290399ce21e8b5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ucrtbase: Support _CRT_INTERNAL_PRINTF_STANDARD_ROUNDING flag in printf.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 25cc6ff62d22220f6da742fa47a7f5fe80ed0c1b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Handle rethrowing from nested try blocks on x64.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f65fb09dff86dbb87564264481a23b1179e8d890 by Paul Gofman <pgofman@codeweavers.com>

* [WINESYNC] msvcr120: Add imaxabs.

Signed-off-by: Myah Caron <qsniyg@protonmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1bb193238fa9eb73668b1dd1bb086105af25727c by Myah Caron <qsniyg@protonmail.com>

* [WINESYNC] msvcrt: Fix count parameter type in printf functions family.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 68ca61a555b3118836dbf7b666686e1de3d988b0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Implement _mbbtype_l().

Fixes Midnight Castle Succubus.

Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ebe3fe536c6c0eb8d8144e9235ea8d1f88aa5657 by Paul Gofman <pgofman@codeweavers.com>

* [WINESYNC] msvcrt: Terminate on noexcept function trying to propagate exception (i386).

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 26c1f8fb07790f51c0fbe0012144e213edccd8ed by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Terminate on noexcept function trying to propagate exception (x86_64).

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8468a3ed77ba22d9a33b2251240e2a4e5462e1b7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Make locale and thread helper functions CDECL.

This prevent callers from having to save SSE registers to the stack.

It is for instance the case in MSVCRT__towlower_l, which is called on
every character by MSVCRT__wcsicmp_l.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a24ad51e3f2515c1970b56f8dfe2206e2b282dc9 by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msvcrt: Introduce noalloc current locale lookup helpers.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id faf92fdedb16a6e35c556e389bf5ac7241058f75 by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msvcrt: Add floating point classification macros.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b9002cc8c7ae16b4a61476834318bcefd638e34f by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt math functions internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1be5e83859229d0e8a6c4fb3913865beea00a085 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt ctype functions internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b7fe06d0fa6dbad7d2c3ae380557adcaa10b89f8 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt atoi() function internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f48648aeec69f74899ba2f074b60aeb0de03615b by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the msvcrt string functions internally.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2fb08bed46fec302954578038566593bb108b57c by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Move math functions to a new Unix library.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c72e1b096d16a1e9a36b86fbc8c403ec3653a504 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Share ctype tables between threadlocinfo instances.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5ec7cb5a7f20afd6eef33d5799fb4c5c1ddaebe1 by Chip Davis <cdavis@codeweavers.com>

* [WINESYNC] msvcrt: Share __lc_time_data between threadlocinfo instances.

My testing shows that unk[1] is some sort of refcount.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 898abfc18f409357939e66cd9a6767d4bc5b0672 by Chip Davis <cdavis@codeweavers.com>

* [WINESYNC] msvcrt: Enable multi-thread locking by default.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6482ce7666a5f8beb92879af5ae3fde3782627d7 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Build with msvcrt headers.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 191bdeaff3676f192148e17c6369865ec94c2ba2 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Don't overwrite threadmbcinfostruct structure in _setmbcp.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 35a8f15361022d9195bd141aa67b22e06007fa16 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt/tests: Remove the headers test.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 86b0a633c68dfceb884a74528c407ba359f10991 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Remove some duplicate definitions from msvcrt.h.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1f11f41f613264dd5b937d0df0a3ee746db0517c by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Move the fenv_t definition to the public header.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 34422eb56cad1ba799270bc6dd56f31bec86023a by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Use the public standard type definitions where possible in msvcrt.h.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0edef50dfae4ec294a949654fa1e03700b954dcb by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Introduce flags field to describe locale stored in thread data.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4fc2b7293378be93275e316c3940e7d21b5bda09 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Lock _MB_CP_LOCK lock in setmbcp.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5b2c3f233d2a7263f3b79133ce6216fa991c1f2 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_lconv type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 70c06601e6bc44aa7b78f440b43c5accbcf32038 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_pthreadlocinfo type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5c0458bd17e1759d25a94038414bf5d4f84a828 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_pthreadmbcinfo type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d496099c74ba7ce4d445a14dceb22b2de2ab0ec5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT__locale_t type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5114c85a0365d29f49c63ca967dfd2e9159c6338 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT prefix from locale functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 17f3f548861dc2c7502690b7d3183e3b9b8a5510 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_wchar_t type.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c302397c7375157ccca7de977d83c95f38015238 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use type ranges definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 758460faf7080efaadfe92a221ad6c623f561be9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use simple type definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fa272adaeb9df503a8fe04d503e07a41ae0c32a0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use WEOF from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7acfe8fb73d88c354dcec0f56c3cdc6acacbdc04 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use EOF from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8180f4001a6d5a0befe6dfb4c0c3118853b7a413 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use struct tm from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c4b7758c691fad6fd5b5f629a8a01b6bc2f961a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from cpp.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 772f0331aa1c4e24f97ca5c5ae27a65805cea8d9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _beginthread_start_routine_t from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id fbc9110d232fd5e86113fc73153b754278e0f5e9 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use errno values from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1317b935efaa841e8842b848d422d1bf2471e448 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _onexit_table_t from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id babe6ceb7f7b206ce8181e35934fc0aa1ee02ae5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use printf and scanf flags from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eb6f79f96a81371d328476d255e27d3a47925b13 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _CRT_FLOAT and _CRT_DBL from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 811647dff44ab93b89200d873d7707a02331d89a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _exception definiotion from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 595ee43c48dc75ebc03900b027d000ebd15dffd4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use locale category definiotion from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e9a1ff11302bbcbb3db68fa4bbd827a7958067ca by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from errno.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eeada5682b68ae2400271dbda0634be186f962b7 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from heap.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d784dbb89993d0565ea132109b110cc9500c97f4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use FILE from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 926179938308b49a2ede5e9196d28535cfec782c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use __utimbuf{32,64} from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2d471db92f0df5d0682369651c0cbb94312cc988 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use ctype definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eabef91a9701ac72c91e64d946d31d829da92d3a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use status word flags from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 09d018c73d4dbaeddf19333e9c5c6fae51d4c1ec by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use fpclass constants from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 480e25a5f6ae432f4688c79dbf7f0008a740aab6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _ARGMAX from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 45ac13551966f7a89ad4678fbc0f76f858663bcb by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use floating point exception signals definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9e085387ac8e6a6c34bc6e7bec8135ef84a247d6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use signal definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2d96d03006798dd64d42735ffbc3dc76fe6a1174 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use fpclassify constants from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d571f377e40082bf234c5b2e3b128598a370ae6b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use FPU control word definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4674860303badca0b88436fdc9c7d5be4f00b1b8 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from ctype.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 176aebb0c568e75043012fb0e6d61d6862323993 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from data.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 495f24ebb82af9864287f9cbc39aa4db108979d2 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use heap structures and definitions from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6d799bfa06a818b068bec6ce540477f89d4f63e1 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use stdio.h definitions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0d479b9d8c54184cce9678b3095bf01d5b4a473c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from environ.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9011b0b7c05c481ff043357be655f1fc7e66b924 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from except.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6bd9ea5be9c1e53d2cf7369c5eb75817b3c80df5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from exit.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2c35caa7671ec4fbf90651e3301cfc58c011031c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from mbcs.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 065cf4e71496d96baf5f7ff35af4f0bbfee9d1a8 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from misc.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 0364b7681fd6f628b06a9653119cd4f7d1c5cfdb by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from process.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f10c1118e2c2159140d32730f2e49ec70f37bd33 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from scanf.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a1662e3f7d6626618dc0158627ffbe8cf2c81be0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from string.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1514c54ce560acadb4cacb77cd4ee5915e8dbd67 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from wcs.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6ad42ee7f4df2a3a731e404f090abe383d40dd1c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from math.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 4f2f3545e59c00aac92448aebe7484467a8cedce by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from dir.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 41fa6e4b6f0e64bfe8be35c215a3c01d8290700c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove MSVCRT_ prefix from file.c functions.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1913affb7b4ee57740a0322e6962d588ae62aca0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _invalid_parameter_handler from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 264ba46bcdcd2119c2f9712ba52bb74c35bd369b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _purecall_handler from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 200fe8ac42ff0800c784ec686ccf494391f6907b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _Dcomplex definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 494a78940735ab31bef9a8ae1d5e58175667df37 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _JUMP_BUFFER from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 835a83e3f9699a83482bc5e74d2e931d87cb1a5a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _finddata_t definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8a2dc3aa42551da56dfc3fb9f1b3979c032a9738 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _stat64 definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 951968c88a2a705ebe7bbb1ac02cd64f8f899f5b by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove non-needed defines from msvcrt.h.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f67f1ce79ee98f88aedde3a915bb6d85b9a934ab by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Remove non-needed function declarations from msvcrt.h.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 79e950bb7989809f62573e3209f2cb1bc0852d6e by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use _configthreadlocale arguments definition from public header.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a7b9948f396a904b43851105f14e86455ebae703 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ucrtbase: Improve __intrinsic_abnormal_termination stub.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id e734d729461855a5ddaf81f4e08e0cc2b3286e37 by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Use __ASM_USE_THISCALL_WRAPPER in cxx.h.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id df446b9c21f52b917a9c2a360bccaed35896a32e by Jacek Caban <jacek@codeweavers.com>

* [WINESYNC] msvcrt: Improve memmove performance on i386 and x86_64 architectures.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=49663
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 38c490496000c5852f14e9c022868c5107d9ff03 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Make __lc_time_data more similar to native.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 859261f4809a47fd030b605a6e418b7ac52f0790 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Lazily initialize console handles.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d5ab1401c0988b8c8c14ae7c64da0a55f4e4bbeb by Rémi Bernon <rbernon@codeweavers.com>

* [WINESYNC] msvcrt: Add helpers for creating base class RTTI.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 16f6a567f4c259bc9b856558f4deebd2f4aeb88c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Fix _unDName crash when demangling class function pointer.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7a1e7cbeee94756f3c474ba63b9fe9db8bddde3a by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] include: Disallow wcsncpy() in Wine, similarly to strncpy().

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id b35404aa61bf9d5c95ba9b51adb57df7cec1827b by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Make UCRT _beginthread[ex]() hold the DLL reference.

MSVCRT's _beginthread[ex]() doesn't exhibit the same behavior and using
ThreadExit() does leak the reference.

FreeLibraryAndExit() has to be used because the DLL may be the only user
of the given CRT.

This fixes Baldur's Gate 3 crashing shortly after launch.

Signed-off-by: Arkadiusz Hiler <ahiler@codeweavers.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 7435ca85453079283da43d716fac48aa1bf5ca3f by Arkadiusz Hiler <ahiler@codeweavers.com>

* [WINESYNC] msvcrt: Allow specifying destructor in DEFINE_CXX_DATA macro.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id bc05707364d722c7b8c105709962cb78c0469cd4 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Add macro that defines type_info vtable.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6c4cddc4f6324cfd6d37e269aaec111a8a665e22 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Rename scheduler.c file to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id eff57ac9c6280751f5f51a66fcac05d6f842fecb by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move _Trace_ppl_function to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ce5c989171f458842bee6e168a65dc36d2ec61d5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Rename exception::what() implementation to exception_what.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f1fa214b9f936bd91fecbfd6f05436d22311f4dd by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Introduce macro for creating exception class.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id f6f8b30c47bc28be5df692743fcf81c7952153ce by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move improper_lock implementation to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id ef81cfb5fbc6d8f2b892c2782bdd469a5bb2f526 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move scheduler_resource_allocation_error to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a8decf5c1511019e3cb22a0e4db06cb0e6b121b2 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move invalid_scheduler_policy_key to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 635f59f2765c03a91b589b810a898bb0b0e566e5 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move invalid_scheduler_policy_value to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id a7bbdea08994625411c94da97ef6b5fbcfb5aaf6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move invalid_scheduler_policy_thread_specification to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c9189a411b7941377cb414eed15d1ce02d43959c by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move improper_scheduler_attach to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 9694fc11fee300134486ee359b525afe098748c8 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Move improper_scheduler_detach to concurrency.c.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 1c9a30f217ef0afcfeb86acf3911e51e81f49880 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Simplify throw_exception helper.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5e3f959aed66b719d845e9e81b282210758444b0 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Fix _CxxThrowException prototype.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id c306c527e708df33a67d31667be75adcbcbc7d7e by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] ntdll: Move some exception definitions to winternl.h.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 97479d3d32cd1adf1a77f74b19ecfd0560b78128 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] include: Use the standard va_list instead of __ms_va_list when building with msvcrt.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2a92c58e1152e1d80395cf31d7cd3f282d094540 by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] ucrtbase: Avoid bool optimization in __std_exception_copy.

Otherwise GCC changes do_free = 1 assignment to *dst = *src which breaks
ucrtbase/cpp tests.

Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 21da1f2f1143cfc154a8d46c51d4922ff71008d6 by Piotr Caban <piotr@codeweavers.com>

* [WINESYNC] msvcrt: Use the standard va_list instead of __ms_va_list.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id d8ed47ec21b255976131c82e4c14653846765adb by Alexandre Julliard <julliard@winehq.org>

* [WINESYNC] msvcrt: Don't set frame to 0 in arm and arm64 setjmp.

This matches what was done for x86_64 in
882980c17a9a033fa8e49a4c116af9583698d218.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 6a072b98c100f38a61fad00b6c96c86b3445efac by Martin Storsjö <martin@martin.st>

* [WINESYNC] msvcrt: Do not acquire fd lock in msvcrt_create_io_inherit_block.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51647
Signed-off-by: Doug Lyons <douglyons@douglyons.com>
Signed-off-by: Thomas Faber <thomas.faber@reactos.org>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5a514d3f45472ce1a169f33d14cdcfb07c51441e by Doug Lyons <douglyons@douglyons.com>

* [WINESYNC] msvcrt: Fix double-free and memory leak in type_info destructor.

Spotted by toying with the gcc's static analyzer.

Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 01111b941d469cb13ed9d3f63c2935930679bcb8 by Eric Pouech <eric.pouech@gmail.com>

* [WINESYNC]: crt is now in sync with wine-staging wine-7.0

---------

Co-authored-by: winesync <ros-dev@reactos.org>
2024-11-27 10:37:18 +02:00

1561 lines
67 KiB
Python

# msvcrt.dll - MS VC++ Run Time Library
@ cdecl -arch=x86_64 -version=0x502 $I10_OUTPUT() I10_OUTPUT
# **************** x86 C++ functions ****************
@ cdecl -arch=i386 -norelay ??0__non_rtti_object@@QAE@ABV0@@Z(ptr) __non_rtti_object_copy_ctor # public: __thiscall __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
@ cdecl -arch=i386 -norelay ??0__non_rtti_object@@QAE@PBD@Z(ptr) __non_rtti_object_ctor # public: __thiscall __non_rtti_object::__non_rtti_object(char const *)
@ cdecl -arch=i386 -norelay ??0bad_cast@@AAE@PBQBD@Z(ptr) bad_cast_ctor # private: __thiscall bad_cast::bad_cast(char const * const *)
@ cdecl -arch=i386 -norelay ??0bad_cast@@QAE@ABQBD@Z(ptr) bad_cast_ctor # public: __thiscall bad_cast::bad_cast(char const * const &)
@ cdecl -arch=i386 -norelay ??0bad_cast@@QAE@ABV0@@Z(ptr) bad_cast_copy_ctor # public: __thiscall bad_cast::bad_cast(class bad_cast const &)
@ cdecl -arch=i386 -norelay ??0bad_cast@@QAE@PBD@Z(ptr) bad_cast_ctor_charptr # public: __thiscall bad_cast::bad_cast(char const *)
@ cdecl -arch=i386 -norelay ??0bad_typeid@@QAE@ABV0@@Z(ptr) bad_typeid_copy_ctor # public: __thiscall bad_typeid::bad_typeid(class bad_typeid const &)
@ cdecl -arch=i386 -norelay ??0bad_typeid@@QAE@PBD@Z(ptr) bad_typeid_ctor # public: __thiscall bad_typeid::bad_typeid(char const *)
@ cdecl -arch=i386 -norelay ??0exception@@QAE@ABQBD@Z(ptr) exception_ctor # public: __thiscall exception::exception(char const * const &)
@ cdecl -arch=i386 -norelay ??0exception@@QAE@ABQBDH@Z(ptr long) exception_ctor_noalloc # public: __thiscall exception::exception(char const * const &,int)
@ cdecl -arch=i386 -norelay ??0exception@@QAE@ABV0@@Z(ptr) exception_copy_ctor # public: __thiscall exception::exception(class exception const &)
@ cdecl -arch=i386 -norelay ??0exception@@QAE@XZ() exception_default_ctor # public: __thiscall exception::exception(void)
@ cdecl -arch=i386 -norelay ??1__non_rtti_object@@UAE@XZ() __non_rtti_object_dtor # public: virtual __thiscall __non_rtti_object::~__non_rtti_object(void)
@ cdecl -arch=i386 -norelay ??1bad_cast@@UAE@XZ() bad_cast_dtor # public: virtual __thiscall bad_cast::~bad_cast(void)
@ cdecl -arch=i386 -norelay ??1bad_typeid@@UAE@XZ() bad_typeid_dtor # public: virtual __thiscall bad_typeid::~bad_typeid(void)
@ cdecl -arch=i386 -norelay ??1exception@@UAE@XZ() exception_dtor # public: virtual __thiscall exception::~exception(void)
@ cdecl -arch=i386 -norelay ??1type_info@@UAE@XZ() type_info_dtor # public: virtual __thiscall type_info::~type_info(void)
@ cdecl -arch=i386 ??2@YAPAXI@Z(long) operator_new # void * __cdecl operator new(unsigned int)
;@ cdecl -arch=i386 ??2@YAPAXIHPBDH@Z(long long str long) operator_new_dbg # void * __cdecl operator new(unsigned int,int,char const *,int)
@ cdecl -arch=i386 ??3@YAXPAX@Z(ptr) operator_delete # void __cdecl operator delete(void *)
@ cdecl -arch=i386 -norelay ??4__non_rtti_object@@QAEAAV0@ABV0@@Z(ptr) __non_rtti_object_opequals # public: class __non_rtti_object & __thiscall __non_rtti_object::operator=(class __non_rtti_object const &)
@ cdecl -arch=i386 -norelay ??4bad_cast@@QAEAAV0@ABV0@@Z(ptr) bad_cast_opequals # public: class bad_cast & __thiscall bad_cast::operator=(class bad_cast const &)
@ cdecl -arch=i386 -norelay ??4bad_typeid@@QAEAAV0@ABV0@@Z(ptr) bad_typeid_opequals # public: class bad_typeid & __thiscall bad_typeid::operator=(class bad_typeid const &)
@ cdecl -arch=i386 -norelay ??4exception@@QAEAAV0@ABV0@@Z(ptr) exception_opequals # public: class exception & __thiscall exception::operator=(class exception const &)
@ cdecl -arch=i386 -norelay ??8type_info@@QBEHABV0@@Z(ptr) type_info_opequals_equals # public: int __thiscall type_info::operator==(class type_info const &)const
@ cdecl -arch=i386 -norelay ??9type_info@@QBEHABV0@@Z(ptr) type_info_opnot_equals # public: int __thiscall type_info::operator!=(class type_info const &)const
@ extern -arch=i386 ??_7__non_rtti_object@@6B@ __non_rtti_object_vtable # const __non_rtti_object::`vftable'
@ extern -arch=i386 ??_7bad_cast@@6B@ bad_cast_vtable # const bad_cast::`vftable'
@ extern -arch=i386 ??_7bad_typeid@@6B@ bad_typeid_vtable # const bad_typeid::`vftable'
@ extern -arch=i386 ??_7exception@@6B@ exception_vtable # const exception::`vftable'
@ cdecl -arch=i386 -norelay ??_E__non_rtti_object@@UAEPAXI@Z(long) __non_rtti_object_vector_dtor # public: virtual void * __thiscall __non_rtti_object::`vector deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Ebad_cast@@UAEPAXI@Z(long) bad_cast_vector_dtor # public: virtual void * __thiscall bad_cast::`vector deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Ebad_typeid@@UAEPAXI@Z(long) bad_typeid_vector_dtor # public: virtual void * __thiscall bad_typeid::`vector deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Eexception@@UAEPAXI@Z(long) exception_vector_dtor # public: virtual void * __thiscall exception::`vector deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Fbad_cast@@QAEXXZ() bad_cast_default_ctor # public: void __thiscall bad_cast::`default constructor closure'(void)
@ cdecl -arch=i386 -norelay ??_Fbad_typeid@@QAEXXZ() bad_typeid_default_ctor # public: void __thiscall bad_typeid::`default constructor closure'(void)
@ cdecl -arch=i386 -norelay ??_G__non_rtti_object@@UAEPAXI@Z(long) __non_rtti_object_scalar_dtor # public: virtual void * __thiscall __non_rtti_object::`scalar deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Gbad_cast@@UAEPAXI@Z(long) bad_cast_scalar_dtor # public: virtual void * __thiscall bad_cast::`scalar deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Gbad_typeid@@UAEPAXI@Z(long) bad_typeid_scalar_dtor # public: virtual void * __thiscall bad_typeid::`scalar deleting destructor'(unsigned int)
@ cdecl -arch=i386 -norelay ??_Gexception@@UAEPAXI@Z(long) exception_scalar_dtor # public: virtual void * __thiscall exception::`scalar deleting destructor'(unsigned int)
@ cdecl -arch=i386 ??_U@YAPAXI@Z(long) operator_new # void * __cdecl operator new[](unsigned int)
;@ cdecl -arch=i386 ??_U@YAPAXIHPBDH@Z(long long str long) operator_new_dbg # void * __cdecl operator new[](unsigned int,int,char const *,int)
@ cdecl -arch=i386 ??_V@YAXPAX@Z(ptr) operator_delete # void __cdecl operator delete[](void *)
@ cdecl -arch=i386 -norelay __uncaught_exception(ptr) __uncaught_exception
@ cdecl -arch=i386 -norelay ?_query_new_handler@@YAP6AHI@ZXZ() _query_new_handler # int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
@ cdecl -arch=i386 ?_query_new_mode@@YAHXZ() _query_new_mode # int __cdecl _query_new_mode(void)
@ cdecl -arch=i386 -norelay ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z(ptr) _set_new_handler # int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
@ cdecl -arch=i386 ?_set_new_mode@@YAHH@Z(long) _set_new_mode # int __cdecl _set_new_mode(int)
@ cdecl -arch=i386 -norelay ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z(ptr) _set_se_translator # void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
@ cdecl -arch=i386 -norelay ?before@type_info@@QBEHABV1@@Z(ptr) type_info_before # public: int __thiscall type_info::before(class type_info const &)const
@ cdecl -arch=i386 -norelay ?name@type_info@@QBEPBDXZ() type_info_name # public: char const * __thiscall type_info::name(void)const
@ cdecl -arch=i386 -norelay ?raw_name@type_info@@QBEPBDXZ() type_info_raw_name # public: char const * __thiscall type_info::raw_name(void)const
@ cdecl -arch=i386 ?set_new_handler@@YAP6AXXZP6AXXZ@Z(ptr) set_new_handler # void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
@ cdecl -arch=i386 ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) set_terminate # void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
@ cdecl -arch=i386 ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) set_unexpected # void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
@ cdecl -arch=i386 ?terminate@@YAXXZ() terminate # void __cdecl terminate(void)
@ cdecl -arch=i386 ?unexpected@@YAXXZ() unexpected # void __cdecl unexpected(void)
@ cdecl -arch=i386 -norelay ?what@exception@@UBEPBDXZ() exception_what # public: virtual char const * __thiscall exception::what(void)const
# **************** win64 C++ functions ****************
@ cdecl -arch=win64 ??0__non_rtti_object@@QEAA@AEBV0@@Z(ptr) __non_rtti_object_copy_ctor # public: __cdecl __non_rtti_object::__non_rtti_object(class __non_rtti_object const & __ptr64) __ptr64
@ cdecl -arch=win64 ??0__non_rtti_object@@QEAA@PEBD@Z(ptr) __non_rtti_object_ctor # public: __cdecl __non_rtti_object::__non_rtti_object(char const * __ptr64) __ptr64
@ cdecl -arch=win64 ??0bad_cast@@AAE@PBQBD@Z(ptr) bad_cast_ctor # private: __thiscall bad_cast::bad_cast(char const near * const near *)
@ cdecl -arch=win64 ??0bad_cast@@AEAA@PEBQEBD@Z(ptr) bad_cast_ctor # private: __cdecl bad_cast::bad_cast(char const * __ptr64 const * __ptr64) __ptr64
@ cdecl -arch=win64 ??0bad_cast@@QAE@ABQBD@Z(ptr) bad_cast_ctor # public: __thiscall bad_cast::bad_cast(char const near * const near &)
@ cdecl -arch=win64 ??0bad_cast@@QEAA@AEBQEBD@Z(ptr) bad_cast_ctor # public: __cdecl bad_cast::bad_cast(char const * __ptr64 const & __ptr64) __ptr64
@ cdecl -arch=win64 ??0bad_cast@@QEAA@AEBV0@@Z(ptr) bad_cast_copy_ctor # public: __cdecl bad_cast::bad_cast(class bad_cast const & __ptr64) __ptr64
@ cdecl -arch=win64 ??0bad_cast@@QEAA@PEBD@Z(ptr) bad_cast_ctor_charptr # public: __cdecl bad_cast::bad_cast(char const * __ptr64) __ptr64
@ cdecl -arch=win64 ??0bad_typeid@@QEAA@AEBV0@@Z(ptr) bad_typeid_copy_ctor # public: __cdecl bad_typeid::bad_typeid(class bad_typeid const & __ptr64) __ptr64
@ cdecl -arch=win64 ??0bad_typeid@@QEAA@PEBD@Z(ptr) bad_typeid_ctor # public: __cdecl bad_typeid::bad_typeid(char const * __ptr64) __ptr64
@ cdecl -arch=win64 ??0exception@@QEAA@AEBQEBD@Z(ptr) exception_ctor # public: __cdecl exception::exception(char const * __ptr64 const & __ptr64) __ptr64
@ cdecl -arch=win64 ??0exception@@QEAA@AEBQEBDH@Z(ptr long) exception_ctor_noalloc # public: __cdecl exception::exception(char const * __ptr64 const & __ptr64,int) __ptr64
@ cdecl -arch=win64 ??0exception@@QEAA@AEBV0@@Z(ptr) exception_copy_ctor # public: __cdecl exception::exception(class exception const & __ptr64) __ptr64
@ cdecl -arch=win64 ??0exception@@QEAA@XZ() exception_default_ctor # public: __cdecl exception::exception(void) __ptr64
@ cdecl -arch=win64 ??1__non_rtti_object@@UEAA@XZ() __non_rtti_object_dtor # public: virtual __cdecl __non_rtti_object::~__non_rtti_object(void) __ptr64
@ cdecl -arch=win64 ??1bad_cast@@UEAA@XZ() bad_cast_dtor # public: virtual __cdecl bad_cast::~bad_cast(void) __ptr64
@ cdecl -arch=win64 ??1bad_typeid@@UEAA@XZ() bad_typeid_dtor # public: virtual __cdecl bad_typeid::~bad_typeid(void) __ptr64
@ cdecl -arch=win64 ??1exception@@UEAA@XZ() exception_dtor # public: virtual __cdecl exception::~exception(void) __ptr64
@ cdecl -arch=win64 ??1type_info@@UEAA@XZ() type_info_dtor # public: virtual __cdecl type_info::~type_info(void) __ptr64
@ cdecl -arch=win64 ??2@YAPEAX_K@Z(double) operator_new # void * __ptr64 __cdecl operator new(unsigned __int64)
@ cdecl -arch=win64 ??2@YAPEAX_KHPEBDH@Z(int64 long str long) operator_new_dbg # void * __ptr64 __cdecl operator new(unsigned __int64,int,char const * __ptr64,int)
@ cdecl -arch=win64 ??3@YAXPEAX@Z(ptr) operator_delete # void __cdecl operator delete(void * __ptr64)
@ cdecl -arch=win64 ??4__non_rtti_object@@QEAAAEAV0@AEBV0@@Z(ptr) __non_rtti_object_opequals # public: class __non_rtti_object & __ptr64 __cdecl __non_rtti_object::operator=(class __non_rtti_object const & __ptr64) __ptr64
@ cdecl -arch=win64 ??4bad_cast@@QEAAAEAV0@AEBV0@@Z(ptr) bad_cast_opequals # public: class bad_cast & __ptr64 __cdecl bad_cast::operator=(class bad_cast const & __ptr64) __ptr64
@ cdecl -arch=win64 ??4bad_typeid@@QEAAAEAV0@AEBV0@@Z(ptr) bad_typeid_opequals # public: class bad_typeid & __ptr64 __cdecl bad_typeid::operator=(class bad_typeid const & __ptr64) __ptr64
@ cdecl -arch=win64 ??4exception@@QEAAAEAV0@AEBV0@@Z(ptr) exception_opequals # public: class exception & __ptr64 __cdecl exception::operator=(class exception const & __ptr64) __ptr64
@ cdecl -arch=win64 ??8type_info@@QEBAHAEBV0@@Z(ptr) type_info_opequals_equals # public: int __cdecl type_info::operator==(class type_info const & __ptr64)const __ptr64
@ cdecl -arch=win64 ??9type_info@@QEBAHAEBV0@@Z(ptr) type_info_opnot_equals # public: int __cdecl type_info::operator!=(class type_info const & __ptr64)const __ptr64
@ extern -arch=win64 ??_7__non_rtti_object@@6B@ __non_rtti_object_vtable # const __non_rtti_object::`vftable'
@ extern -arch=win64 ??_7bad_cast@@6B@ bad_cast_vtable # const bad_cast::`vftable'
@ extern -arch=win64 ??_7bad_typeid@@6B@ bad_typeid_vtable # const bad_typeid::`vftable'
@ extern -arch=win64 ??_7exception@@6B@ exception_vtable # const exception::`vftable'
@ cdecl -arch=win64 ??_Fbad_cast@@QEAAXXZ() bad_cast_default_ctor # public: void __cdecl bad_cast::`default constructor closure'(void) __ptr64
@ cdecl -arch=win64 ??_Fbad_typeid@@QEAAXXZ() bad_typeid_default_ctor # public: void __cdecl bad_typeid::`default constructor closure'(void) __ptr64
@ cdecl -arch=win64 ??_U@YAPEAX_K@Z(long) operator_new # void * __ptr64 __cdecl operator new[](unsigned __int64)
@ cdecl -arch=win64 ??_U@YAPEAX_KHPEBDH@Z(int64 long str long) operator_new_dbg # void * __ptr64 __cdecl operator new[](unsigned __int64,int,char const * __ptr64,int)
@ cdecl -arch=win64 ??_V@YAXPEAX@Z(ptr) operator_delete # void __cdecl operator delete[](void * __ptr64)
@ cdecl -arch=win64 __uncaught_exception(ptr) __uncaught_exception
@ cdecl -arch=win64 ?_query_new_handler@@YAP6AH_K@ZXZ() _query_new_handler # int (__cdecl*__cdecl _query_new_handler(void))(unsigned __int64)
@ cdecl -arch=win64 ?_query_new_mode@@YAHXZ() _query_new_mode # int __cdecl _query_new_mode(void)
@ cdecl -arch=win64 ?_set_new_handler@@YAP6AH_K@ZP6AH0@Z@Z(ptr) _set_new_handler # int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned __int64)))(unsigned __int64)
@ cdecl -arch=win64 ?_set_new_mode@@YAHH@Z(long) _set_new_mode # int __cdecl _set_new_mode(int)
@ cdecl -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z(ptr) _set_se_translator # void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
@ cdecl -arch=win64 ?before@type_info@@QEBAHAEBV1@@Z(ptr) type_info_before # public: int __cdecl type_info::before(class type_info const & __ptr64)const __ptr64
@ cdecl -arch=win64 ?name@type_info@@QEBAPEBDXZ() type_info_name # public: char const * __ptr64 __cdecl type_info::name(void)const __ptr64
@ cdecl -arch=win64 ?raw_name@type_info@@QEBAPEBDXZ() type_info_raw_name # public: char const * __ptr64 __cdecl type_info::raw_name(void)const __ptr64
@ cdecl -arch=win64 ?set_new_handler@@YAP6AXXZP6AXXZ@Z(ptr) set_new_handler # void (__cdecl*__cdecl set_new_handler(void (__cdecl*)(void)))(void)
@ cdecl -arch=win64 ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) set_terminate # void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
@ cdecl -arch=win64 ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) set_unexpected # void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
@ cdecl -arch=win64 ?terminate@@YAXXZ() terminate # void __cdecl terminate(void)
@ cdecl -arch=win64 ?unexpected@@YAXXZ() unexpected # void __cdecl unexpected(void)
@ cdecl -arch=win64 ?what@exception@@UEBAPEBDXZ() exception_what # public: virtual char const * __ptr64 __cdecl exception::what(void)const __ptr64
# **************** ARM C++ functions ****************
@ cdecl -arch=arm ??0__non_rtti_object@@QAA@ABV0@@Z() __non_rtti_object_copy_ctor # public: __cdecl __non_rtti_object::__non_rtti_object(class __non_rtti_object const &)
@ cdecl -arch=arm ??0__non_rtti_object@@QAA@PBD@Z() __non_rtti_object_ctor #public: __cdecl __non_rtti_object::__non_rtti_object(char const *)
@ cdecl -arch=arm ??0bad_cast@@AAA@PBQBD@Z() bad_cast_ctor # private: __cdecl bad_cast::bad_cast(char const * const *)
@ cdecl -arch=arm ??0bad_cast@@QAA@ABV0@@Z() bad_cast_copy_ctor # public: __cdecl bad_cast::bad_cast(class bad_cast const &)
@ cdecl -arch=arm ??0bad_cast@@QAA@PBD@Z() bad_cast_ctor # public: __cdecl bad_cast::bad_cast(char const *)
@ cdecl -arch=arm ??0bad_typeid@@QAA@ABV0@@Z() bad_typeid_copy_ctor # public: __cdecl bad_typeid::bad_typeid(class bad_typeid const &)
@ cdecl -arch=arm ??0bad_typeid@@QAA@PBD@Z() bad_typeid_ctor # public: __cdecl bad_typeid::bad_typeid(char const *)
@ cdecl -arch=arm ??0exception@@QAA@ABQBD@Z() exception_ctor # public: __cdecl exception::exception(char const * const &)
@ cdecl -arch=arm ??0exception@@QAA@ABQBDH@Z() exception_ctor_noalloc # public: __cdecl exception::exception(char const * const &,int)
@ cdecl -arch=arm ??0exception@@QAA@ABV0@@Z() exception_copy_ctor # public: __cdecl exception::exception(class exception const &)
@ cdecl -arch=arm ??0exception@@QAA@XZ() exception_default_ctor # public: __cdecl exception::exception(void)
@ cdecl -arch=arm ??1__non_rtti_object@@UAA@XZ() __non_rtti_object_dtor # public: virtual __cdecl __non_rtti_object::~__non_rtti_object(void)
@ cdecl -arch=arm ??1bad_cast@@UAA@XZ() bad_cast_dtor # public: virtual __cdecl bad_cast::~bad_cast(void)
@ cdecl -arch=arm ??1bad_typeid@@UAA@XZ() bad_typeid_dtor # public: virtual __cdecl bad_typeid::~bad_typeid(void)
@ cdecl -arch=arm ??1exception@@UAA@XZ() exception_dtor # public: virtual __cdecl exception::~exception(void)
@ cdecl -arch=arm ??1type_info@@UAA@XZ() type_info_dtor # public: virtual __cdecl type_info::~type_info(void)
@ cdecl -arch=arm ??2@YAPAXI@Z() operator_new # void * __cdecl operator new(unsigned int)
@ cdecl -arch=arm ??2@YAPAXIHPBDH@Z() operator_new_dbg # void * __cdecl operator new(unsigned int,int,char const *,int)
@ cdecl -arch=arm ??3@YAXPAX@Z() operator_delete # void __cdecl operator delete(void *)
@ cdecl -arch=arm ??4__non_rtti_object@@QAAAAV0@ABV0@@Z() __non_rtti_object_opequals # public: class __non_rtti_object & __cdecl __non_rtti_object::operator=(class __non_rtti_object const &)
@ cdecl -arch=arm ??4bad_cast@@QAAAAV0@ABV0@@Z() bad_cast_opequals # public: class bad_cast & __cdecl bad_cast::operator=(class bad_cast const &)
@ cdecl -arch=arm ??4bad_typeid@@QAAAAV0@ABV0@@Z() bad_typeid_opequals # public: class bad_typeid & __cdecl bad_typeid::operator=(class bad_typeid const &)
@ cdecl -arch=arm ??4exception@@QAAAAV0@ABV0@@Z() exception_opequals # public: class exception & __cdecl exception::operator=(class exception const &)
@ cdecl -arch=arm ??8type_info@@QBAHABV0@@Z() type_info_opequals_equals # public: int __cdecl type_info::operator==(class type_info const &)const
@ cdecl -arch=arm ??9type_info@@QBAHABV0@@Z() type_info_opnot_equals # public: int __cdecl type_info::operator!=(class type_info const &)const
@ extern -arch=arm ??_7__non_rtti_object@@6B@ __non_rtti_object_vtable # const __non_rtti_object::`vftable'
@ extern -arch=arm ??_7bad_cast@@6B@ bad_cast_vtable # const bad_cast::`vftable'
@ extern -arch=arm ??_7bad_typeid@@6B@ bad_typeid_vtable # const bad_typeid::`vftable'
@ extern -arch=arm ??_7exception@@6B@ exception_vtable # const exception::`vftable'
@ cdecl -arch=arm ??_Fbad_cast@@QAAXXZ() bad_cast_default_ctor # public: void __cdecl bad_cast::`default constructor closure'(void)
@ cdecl -arch=arm ??_Fbad_typeid@@QAAXXZ() bad_typeid_default_ctor # public: void __cdecl bad_typeid::`default constructor closure'(void)
@ cdecl -arch=arm ??_U@YAPAXI@Z() operator_new # void * __cdecl operator new[](unsigned int)
@ cdecl -arch=arm ??_U@YAPAXIHPBDH@Z() operator_new_dbg # void * __cdecl operator new[](unsigned int,int,char const *,int)
@ cdecl -arch=arm ??_V@YAXPAX@Z() operator_delete # void __cdecl operator delete[](void *)
;@ cdecl -arch=arm _CallMemberFunction0()
;@ cdecl -arch=arm _CallMemberFunction1()
;@ cdecl -arch=arm _CallMemberFunction2()
;@ cdecl -arch=arm __ExceptionPtrAssign()
;@ cdecl -arch=arm __ExceptionPtrCompare()
;@ cdecl -arch=arm __ExceptionPtrCopy()
;@ cdecl -arch=arm __ExceptionPtrCopyException()
;@ cdecl -arch=arm __ExceptionPtrCreate()
;@ cdecl -arch=arm __ExceptionPtrCurrentException()
;@ cdecl -arch=arm __ExceptionPtrDestroy()
;@ cdecl -arch=arm __ExceptionPtrRethrow()
;@ cdecl -arch=arm __ExceptionPtrSwap()
;@ cdecl -arch=arm __ExceptionPtrToBool()
@ cdecl -arch=arm __uncaught_exception(ptr) __uncaught_exception
@ cdecl -arch=arm ?_query_new_handler@@YAP6AHI@ZXZ() _query_new_handler # int (__cdecl*__cdecl _query_new_handler(void))(unsigned int)
@ cdecl -arch=arm ?_set_new_handler@@YAP6AHI@ZP6AHI@Z@Z() _set_new_handler # int (__cdecl*__cdecl _set_new_handler(int (__cdecl*)(unsigned int)))(unsigned int)
@ cdecl -arch=arm ?_set_new_mode@@YAHH@Z() _set_new_mode # int __cdecl _set_new_mode(int)
@ cdecl -arch=arm ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZP6AXI0@Z@Z() _set_se_translator # void (__cdecl*__cdecl _set_se_translator(void (__cdecl*)(unsigned int,struct _EXCEPTION_POINTERS *)))(unsigned int,struct _EXCEPTION_POINTERS *)
@ cdecl -arch=arm ?before@type_info@@QBAHABV1@@Z() type_info_before # public: int __cdecl type_info::before(class type_info const &)const
@ cdecl -arch=arm ?name@type_info@@QBAPBDXZ() type_info_name # public: char const * __cdecl type_info::name(void)const
@ cdecl -arch=arm ?raw_name@type_info@@QBAPBDXZ() type_info_raw_name # public: char const * __cdecl type_info::raw_name(void)const
@ cdecl -arch=arm ?set_terminate@@YAP6AXXZP6AXXZ@Z() set_terminate # void (__cdecl*__cdecl set_terminate(void (__cdecl*)(void)))(void)
@ cdecl -arch=arm ?set_unexpected@@YAP6AXXZP6AXXZ@Z() set_unexpected # void (__cdecl*__cdecl set_unexpected(void (__cdecl*)(void)))(void)
@ cdecl -arch=arm ?terminate@@YAXXZ() terminate # void __cdecl terminate(void)
@ cdecl -arch=arm ?unexpected@@YAXXZ() unexpected # void __cdecl unexpected(void)
@ cdecl -arch=arm ?what@exception@@UBAPBDXZ() exception_what # public: virtual char const * __cdecl exception::what(void)const
# **************** Common functions ****************
@ cdecl -arch=i386 $I10_OUTPUT() 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()
@ stub -version=0x600+ _CrtCheckMemory
@ stub -version=0x600+ _CrtDbgBreak
@ cdecl -version=0x600+ _CrtDbgReport(long str long str str)
@ cdecl -version=0x600+ _CrtDbgReportV(long str long str str ptr)
@ cdecl -version=0x600+ _CrtDbgReportW(long wstr long wstr wstr)
@ cdecl -version=0x600+ _CrtDbgReportWV(long wstr long wstr wstr ptr)
@ stub -version=0x600+ _CrtDoForAllClientObjects
@ stub -version=0x600+ _CrtDumpMemoryLeaks
@ stub -version=0x600+ _CrtIsMemoryBlock
@ stub -version=0x600+ _CrtIsValidHeapPointer
@ stub -version=0x600+ _CrtIsValidPointer
@ stub -version=0x600+ _CrtMemCheckpoint
@ stub -version=0x600+ _CrtMemDifference
@ stub -version=0x600+ _CrtMemDumpAllObjectsSince
@ stub -version=0x600+ _CrtMemDumpStatistics
@ stub -version=0x600+ _CrtReportBlockType
@ stub -version=0x600+ _CrtSetAllocHook
@ stub -version=0x600+ _CrtSetBreakAlloc
@ stub -version=0x600+ _CrtSetDbgBlockType
@ stub -version=0x600+ _CrtSetDbgFlag
@ stub -version=0x600+ _CrtSetDumpClient
@ cdecl -version=0x600+ _CrtSetReportFile(long ptr)
@ stub -version=0x600+ _CrtSetReportHook
@ stub -version=0x600+ _CrtSetReportHook2
@ cdecl -version=0x600+ _CrtSetReportMode(long long)
@ stdcall _CxxThrowException(long long)
@ cdecl -arch=i386 -norelay _EH_prolog()
@ cdecl _Getdays()
@ cdecl _Getmonths()
@ cdecl _Gettnames()
@ extern _HUGE
@ cdecl _Strftime(str long str ptr ptr)
@ cdecl _XcptFilter(long ptr)
@ stdcall -arch=x86_64,arm __C_specific_handler(ptr long ptr ptr)
@ cdecl __CppXcptFilter(long ptr)
@ stub -version=0x600+ -arch=i386 __CxxCallUnwindDelDtor
@ stub -arch=i386 __CxxCallUnwindDtor
@ stub -arch=i386 __CxxCallUnwindVecDtor
@ cdecl -arch=i386 __CxxDetectRethrow(ptr)
@ cdecl -arch=i386 __CxxExceptionFilter()
@ cdecl -arch=i386,x86_64 -norelay __CxxFrameHandler(ptr ptr ptr ptr)
@ cdecl -arch=i386 -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
@ cdecl -version=0x600+ -arch=x86_64 -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
@ cdecl -arch=arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr)
@ cdecl -version=0x600+ -arch=i386 -norelay __CxxFrameHandler3(ptr ptr ptr ptr)
@ cdecl -version=0x600+ -arch=x86_64 -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr)
@ cdecl -arch=i386 __CxxQueryExceptionSize()
@ cdecl -arch=i386 __CxxRegisterExceptionObject()
@ cdecl -arch=i386 __CxxUnregisterExceptionObject()
@ cdecl __DestructExceptionObject(ptr)
@ cdecl __RTCastToVoid(ptr) __RTCastToVoid
@ cdecl __RTDynamicCast(ptr long ptr ptr long) __RTDynamicCast
@ cdecl __RTtypeid(ptr) __RTtypeid
@ cdecl __STRINGTOLD(ptr ptr str long)
@ cdecl ___lc_codepage_func()
@ cdecl ___lc_collate_cp_func()
@ cdecl ___lc_handle_func()
@ cdecl ___mb_cur_max_func()
@ cdecl -arch=i386,x86_64 ___setlc_active_func()
@ cdecl -arch=i386,x86_64 ___unguarded_readlc_active_add_func()
@ extern __argc
@ extern __argv
@ extern __badioinfo __badioinfo
@ cdecl __crtCompareStringA(long long str long str long) kernel32.CompareStringA
@ cdecl __crtCompareStringW(long long wstr long wstr long) kernel32.CompareStringW
@ cdecl __crtGetLocaleInfoW(long long ptr long) kernel32.GetLocaleInfoW
@ cdecl __crtGetStringTypeW(long long wstr long ptr)
@ cdecl __crtLCMapStringA(long long str long str long long long)
@ cdecl __crtLCMapStringW(long long wstr long wstr long long long)
@ stub -version=0x600+ __daylight
@ cdecl __dllonexit(ptr ptr ptr)
@ cdecl __doserrno()
@ stub -version=0x600+ __dstbias
@ cdecl __fpecode()
@ cdecl __getmainargs(ptr ptr ptr long ptr)
@ extern -arch=i386,x86_64 __initenv
@ cdecl __iob_func()
@ cdecl __isascii(long)
@ cdecl __iscsym(long)
@ cdecl __iscsymf(long)
@ extern -arch=i386,x86_64 __lc_codepage
@ extern -arch=i386,x86_64 __lc_collate_cp MSVCRT___lc_collate_cp
@ extern __lc_handle MSVCRT___lc_handle
@ cdecl __lconv_init()
@ stub -version=0x600+ -arch=i386 __libm_sse2_acos
@ stub -version=0x600+ -arch=i386 __libm_sse2_acosf
@ stub -version=0x600+ -arch=i386 __libm_sse2_asin
@ stub -version=0x600+ -arch=i386 __libm_sse2_asinf
@ stub -version=0x600+ -arch=i386 __libm_sse2_atan
@ stub -version=0x600+ -arch=i386 __libm_sse2_atan2
@ stub -version=0x600+ -arch=i386 __libm_sse2_atanf
@ stub -version=0x600+ -arch=i386 __libm_sse2_cos
@ stub -version=0x600+ -arch=i386 __libm_sse2_cosf
@ stub -version=0x600+ -arch=i386 __libm_sse2_exp
@ stub -version=0x600+ -arch=i386 __libm_sse2_expf
@ stub -version=0x600+ -arch=i386 __libm_sse2_log
@ stub -version=0x600+ -arch=i386 __libm_sse2_log10
@ stub -version=0x600+ -arch=i386 __libm_sse2_log10f
@ stub -version=0x600+ -arch=i386 __libm_sse2_logf
@ stub -version=0x600+ -arch=i386 __libm_sse2_pow
@ stub -version=0x600+ -arch=i386 __libm_sse2_powf
@ stub -version=0x600+ -arch=i386 __libm_sse2_sin
@ stub -version=0x600+ -arch=i386 __libm_sse2_sinf
@ stub -version=0x600+ -arch=i386 __libm_sse2_tan
@ stub -version=0x600+ -arch=i386 __libm_sse2_tanf
@ 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__fileinfo()
@ cdecl -arch=i386 __p__fmode()
@ cdecl -arch=i386 __p__iob() __iob_func
@ cdecl -arch=i386 __p__mbcasemap()
@ 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 __pctype_func()
@ extern __pioinfo
@ cdecl __pwctype_func()
@ cdecl __pxcptinfoptrs()
@ cdecl __set_app_type(long)
@ extern -arch=i386,x86_64 __setlc_active
@ cdecl __setusermatherr(ptr)
@ stub -version=0x600+ __strncnt
@ cdecl __threadhandle() kernel32.GetCurrentThread
@ cdecl __threadid() kernel32.GetCurrentThreadId
@ cdecl __toascii(long)
@ cdecl __unDName(ptr str long ptr ptr long)
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
@ extern -arch=i386,x86_64 __unguarded_readlc_active
@ extern __wargv __wargv
@ cdecl __wcserror(wstr)
@ cdecl -version=0x600+ __wcserror_s(ptr long wstr)
@ stub -version=0x600+ __wcsncnt
@ cdecl __wgetmainargs(ptr ptr ptr long ptr)
@ extern -arch=i386,x86_64 __winitenv
@ cdecl -arch=i386 _abnormal_termination()
# stub _abs64
@ cdecl _access(str long)
@ cdecl -version=0x600+ _access_s(str long)
@ extern _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(double)
@ 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(double)
@ 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
@ extern _aexit_rtn
@ cdecl _aligned_free(ptr)
@ stub -version=0x600+ _aligned_free_dbg
@ cdecl _aligned_malloc(long long)
@ stub -version=0x600+ _aligned_malloc_dbg
@ cdecl _aligned_offset_malloc(long long long)
@ stub -version=0x600+ _aligned_offset_malloc_dbg
@ cdecl _aligned_offset_realloc(ptr long long long)
@ stub -version=0x600+ _aligned_offset_realloc_dbg
@ cdecl _aligned_realloc(ptr long long)
@ stub -version=0x600+ _aligned_realloc_dbg
@ cdecl _amsg_exit(long)
@ cdecl _assert(str str long)
@ cdecl _atodbl(ptr str)
@ stub -version=0x600+ _atodbl_l
@ stub -version=0x600+ _atof_l
@ stub -version=0x600+ _atoflt_l
@ cdecl -ret64 _atoi64(str)
@ stub -version=0x600+ _atoi64_l
@ stub -version=0x600+ _atoi_l
@ stub -version=0x600+ _atol_l
@ cdecl _atoldbl(ptr str)
@ stub -version=0x600+ _atoldbl_l
@ cdecl _beep(long long)
@ cdecl _beginthread(ptr long ptr)
@ cdecl _beginthreadex(ptr long ptr ptr long ptr)
@ cdecl _c_exit()
@ cdecl _cabs(long)
@ cdecl _callnewh(long)
@ stub -version=0x600+ _calloc_dbg
@ cdecl _cexit()
@ cdecl _cgets(str)
@ stub -version=0x600+ _cgets_s
@ cdecl -stub _cgetws(wstr)
@ stub -version=0x600+ _cgetws_s
@ cdecl _chdir(str)
@ cdecl _chdrive(long)
@ cdecl _chgsign(double)
@ cdecl -arch=x86_64,arm _chgsignf(long)
@ cdecl -arch=i386 -norelay _chkesp()
@ cdecl _chmod(str long)
@ cdecl _chsize(long long)
@ cdecl -version=0x600+ _chsize_s(long int64)
@ stub -version=0x600+ _chvalidator
@ stub -version=0x600+ _chvalidator_l
@ cdecl -arch=i386,x86_64 _clearfp()
@ cdecl _close(long)
@ cdecl _commit(long)
@ extern _commode
@ cdecl -arch=i386,x86_64 _control87(long long)
@ cdecl _controlfp(long long)
@ cdecl -version=0x600+ _controlfp_s(ptr long long)
@ cdecl _copysign( double double )
@ cdecl -arch=x86_64,arm _copysignf(long long)
@ varargs _cprintf(str)
@ stub -version=0x600+ _cprintf_l
@ stub -version=0x600+ _cprintf_p
@ stub -version=0x600+ _cprintf_p_l
@ stub -version=0x600+ _cprintf_s
@ stub -version=0x600+ _cprintf_s_l
@ cdecl _cputs(str)
@ cdecl -stub _cputws(wstr)
@ cdecl _creat(str long)
@ stub -version=0x600+ _crtAssertBusy
@ stub -version=0x600+ _crtBreakAlloc
@ stub -version=0x600+ _crtDbgFlag
@ varargs _cscanf(str)
@ stub -version=0x600+ _cscanf_l
@ stub -version=0x600+ _cscanf_s
@ stub -version=0x600+ _cscanf_s_l
@ stub -version=0x600+ _ctime32
@ stub -version=0x600+ _ctime32_s
@ cdecl _ctime64(ptr)
@ cdecl -version=0x600+ _ctime64_s(ptr long ptr)
@ extern _ctype
@ cdecl _cwait(ptr long long)
@ varargs _cwprintf(wstr)
@ stub -version=0x600+ _cwprintf_l
@ stub -version=0x600+ _cwprintf_p
@ stub -version=0x600+ _cwprintf_p_l
@ stub -version=0x600+ _cwprintf_s
@ stub -version=0x600+ _cwprintf_s_l
@ varargs -stub _cwscanf(wstr)
@ stub -version=0x600+ _cwscanf_l
@ stub -version=0x600+ _cwscanf_s
@ stub -version=0x600+ _cwscanf_s_l
@ extern _daylight
@ stub -version=0x600+ _difftime32
@ stub -version=0x600+ _difftime64
@ extern -arch=i386,x86_64 _dstbias
@ cdecl _dup(long)
@ cdecl _dup2(long long)
@ cdecl _ecvt(double long ptr ptr)
@ stub -version=0x600+ _ecvt_s
@ cdecl _endthread()
@ cdecl _endthreadex(long)
@ extern -arch=i386,x86_64 _environ
@ cdecl _eof(long)
@ cdecl _errno()
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr)
@ cdecl -arch=i386 -version=0x600+ _except_handler4_common(ptr ptr 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)
@ stub -version=0x600+ _expand_dbg
@ cdecl _fcloseall()
@ cdecl _fcvt(double long ptr ptr)
@ stub -version=0x600+ _fcvt_s
@ cdecl _fdopen(long str)
@ cdecl _fgetchar()
@ cdecl _fgetwchar()
@ cdecl _filbuf(ptr)
@ extern -arch=i386,x86_64 _fileinfo
@ cdecl _filelength(long)
@ cdecl -ret64 _filelengthi64(long)
@ cdecl _fileno(ptr)
@ cdecl _findclose(long)
@ cdecl _findfirst(str ptr)
@ cdecl _findfirst64(str ptr)
@ cdecl _findfirsti64(str ptr)
@ cdecl _findnext(long ptr)
@ cdecl _findnext64(long ptr)
@ cdecl _findnexti64(long ptr)
@ cdecl _finite(double)
@ stub -arch=x86_64 _finitef
@ cdecl _flsbuf(long ptr)
@ cdecl _flushall()
@ extern _fmode
@ cdecl _fpclass(double)
@ cdecl -stub -arch=x86_64 _fpclassf(long)
@ cdecl -arch=i386 _fpieee_flt(long ptr ptr)
@ cdecl _fpreset()
@ stub -version=0x600+ _fprintf_l
@ stub -version=0x600+ _fprintf_p
@ stub -version=0x600+ _fprintf_p_l
@ stub -version=0x600+ _fprintf_s_l
@ cdecl _fputchar(long)
@ cdecl _fputwchar(long)
@ stub -version=0x600+ _free_dbg
@ stub -version=0x600+ _freea
@ stub -version=0x600+ _freea_s
@ stub -version=0x600+ _fscanf_l
@ stub -version=0x600+ _fscanf_s_l
@ cdecl -version=0x600+ _fseeki64(ptr int64 long)
@ cdecl _fsopen(str str long)
@ cdecl _fstat(long ptr)
@ cdecl _fstat64(long ptr)
@ cdecl _fstati64(long ptr)
@ cdecl _ftime(ptr)
@ stub -version=0x600+ _ftime32
@ stub -version=0x600+ _ftime32_s
@ cdecl _ftime64(ptr)
@ cdecl -version=0x600+ _ftime64_s(ptr)
@ cdecl -arch=i386 -ret64 _ftol()
@ cdecl -version=0x600+ -arch=i386 _ftol2(long)
@ cdecl -version=0x600+ -arch=i386 _ftol2_sse(long)
@ stub -version=0x600+ -arch=i386 _ftol2_sse_excpt
@ cdecl _fullpath(ptr str long)
@ stub -version=0x600+ _fullpath_dbg
@ cdecl _futime(long ptr)
@ stub -version=0x600+ _futime32
@ cdecl _futime64(long ptr)
@ stub -version=0x600+ _fwprintf_l
@ stub -version=0x600+ _fwprintf_p
@ stub -version=0x600+ _fwprintf_p_l
@ stub -version=0x600+ _fwprintf_s_l
@ stub -version=0x600+ _fwscanf_l
@ stub -version=0x600+ _fwscanf_s_l
@ cdecl _gcvt(double long str)
@ cdecl -version=0x600+ _gcvt_s(ptr ptr double long)
@ cdecl -version=0x600+ _get_doserrno(ptr)
@ stub -version=0x600+ _get_environ
@ cdecl -version=0x600+ _get_errno(ptr)
@ stub -version=0x600+ _get_fileinfo
@ stub -version=0x600+ _get_fmode
# @ cdecl _get_heap_handle()
@ cdecl _get_osfhandle(long)
@ cdecl -version=0x600+ _get_osplatform(ptr)
@ stub -version=0x600+ _get_osver
@ cdecl -version=0x600+ _get_output_format()
@ cdecl -version=0x600+ _get_pgmptr(ptr)
@ cdecl _get_sbh_threshold()
@ stub -version=0x600+ _get_wenviron
@ stub -version=0x600+ _get_winmajor
@ stub -version=0x600+ _get_winminor
@ stub -version=0x600+ _get_winver
@ cdecl -version=0x600+ _get_wpgmptr(ptr)
@ cdecl _getch()
@ cdecl _getche()
@ cdecl _getcwd(str long)
@ cdecl _getdcwd(long str long)
@ cdecl _getdiskfree(long ptr)
@ cdecl -arch=i386 _getdllprocaddr(long str long)
@ cdecl -arch=x86_64 -version=0x502 _getdllprocaddr(long str long)
@ cdecl _getdrive()
@ cdecl _getdrives() kernel32.GetLogicalDrives
@ cdecl _getmaxstdio()
@ cdecl _getmbcp()
@ cdecl _getpid() kernel32.GetCurrentProcessId
@ cdecl _getsystime(ptr)
@ cdecl _getw(ptr)
@ cdecl -stub _getwch()
@ cdecl -stub _getwche()
@ cdecl _getws(ptr)
@ cdecl -arch=i386 _global_unwind2(ptr)
@ cdecl -version=0x600+ _gmtime32(ptr)
@ cdecl -version=0x600+ _gmtime32_s(ptr ptr)
@ cdecl _gmtime64(ptr)
@ cdecl -version=0x600+ _gmtime64_s(ptr ptr)
@ cdecl _heapadd(ptr long)
@ cdecl _heapchk()
@ cdecl _heapmin()
@ cdecl _heapset(long)
@ cdecl -arch=i386 _heapused(ptr ptr)
@ cdecl -arch=x86_64 -version=0x502 _heapused(ptr ptr)
@ cdecl _heapwalk(ptr)
@ cdecl _hypot(double double)
@ cdecl -arch=x86_64,arm _hypotf(long long)
@ cdecl _i64toa(long long ptr long)
@ cdecl -version=0x600+ _i64toa_s(int64 ptr long long)
@ cdecl _i64tow(long long ptr long)
@ cdecl -version=0x600+ _i64tow_s(int64 ptr long long)
@ cdecl _initterm(ptr ptr)
@ cdecl -version=0x600+ _initterm_e(ptr ptr)
@ cdecl -arch=i386 _inp(long) MSVCRT__inp
@ cdecl -arch=i386 _inpd(long) MSVCRT__inpd
@ cdecl -arch=i386 _inpw(long) MSVCRT__inpw
@ cdecl -version=0x600+ _invalid_parameter(wstr wstr wstr long long)
@ extern _iob
@ cdecl -version=0x600+ _isalnum_l(long ptr)
@ cdecl -version=0x600+ _isalpha_l(long ptr)
@ cdecl _isatty(long)
@ cdecl -version=0x600+ _iscntrl_l(long ptr)
@ cdecl _isctype(long long)
@ cdecl -version=0x600+ _isctype_l(long long ptr)
@ cdecl -version=0x600+ _isdigit_l(long ptr)
@ cdecl -version=0x600+ _isgraph_l(long ptr)
@ cdecl -version=0x600+ _isleadbyte_l(long ptr)
@ cdecl -version=0x600+ _islower_l(long ptr)
@ cdecl _ismbbalnum(long)
@ stub -version=0x600+ _ismbbalnum_l
@ cdecl _ismbbalpha(long)
@ stub -version=0x600+ _ismbbalpha_l
@ cdecl _ismbbgraph(long)
@ stub -version=0x600+ _ismbbgraph_l
@ cdecl _ismbbkalnum(long)
@ stub -version=0x600+ _ismbbkalnum_l
@ cdecl _ismbbkana(long)
@ stub -version=0x600+ _ismbbkana_l
@ cdecl _ismbbkprint(long)
@ stub -version=0x600+ _ismbbkprint_l
@ cdecl _ismbbkpunct(long)
@ stub -version=0x600+ _ismbbkpunct_l
@ cdecl _ismbblead(long)
@ stub -version=0x600+ _ismbblead_l
@ cdecl _ismbbprint(long)
@ stub -version=0x600+ _ismbbprint_l
@ cdecl _ismbbpunct(long)
@ stub -version=0x600+ _ismbbpunct_l
@ cdecl _ismbbtrail(long)
@ stub -version=0x600+ _ismbbtrail_l
@ cdecl _ismbcalnum(long)
@ stub -version=0x600+ _ismbcalnum_l
@ cdecl _ismbcalpha(long)
@ stub -version=0x600+ _ismbcalpha_l
@ cdecl _ismbcdigit(long)
@ stub -version=0x600+ _ismbcdigit_l
@ cdecl _ismbcgraph(long)
@ stub -version=0x600+ _ismbcgraph_l
@ cdecl _ismbchira(long)
@ stub -version=0x600+ _ismbchira_l
@ cdecl _ismbckata(long)
@ stub -version=0x600+ _ismbckata_l
@ cdecl _ismbcl0(long)
@ stub -version=0x600+ _ismbcl0_l
@ cdecl _ismbcl1(long)
@ stub -version=0x600+ _ismbcl1_l
@ cdecl _ismbcl2(long)
@ stub -version=0x600+ _ismbcl2_l
@ cdecl _ismbclegal(long)
@ stub -version=0x600+ _ismbclegal_l
@ cdecl _ismbclower(long)
@ stub -version=0x600+ _ismbclower_l
@ cdecl _ismbcprint(long)
@ stub -version=0x600+ _ismbcprint_l
@ cdecl _ismbcpunct(long)
@ stub -version=0x600+ _ismbcpunct_l
@ cdecl _ismbcspace(long)
@ stub -version=0x600+ _ismbcspace_l
@ cdecl _ismbcsymbol(long)
@ stub -version=0x600+ _ismbcsymbol_l
@ cdecl _ismbcupper(long)
@ stub -version=0x600+ _ismbcupper_l
@ cdecl _ismbslead(ptr ptr)
@ stub -version=0x600+ _ismbslead_l
@ cdecl _ismbstrail(ptr ptr)
@ stub -version=0x600+ _ismbstrail_l
@ cdecl _isnan(double)
@ stub -arch=x86_64 _isnanf
@ cdecl -version=0x600+ _isprint_l(long ptr)
@ cdecl -version=0x600+ _isspace_l(long ptr)
@ cdecl -version=0x600+ _isupper_l(long ptr)
@ cdecl -version=0x600+ _iswalnum_l(long ptr)
@ cdecl -version=0x600+ _iswalpha_l(long ptr)
@ cdecl -version=0x600+ _iswcntrl_l(long ptr)
@ cdecl -version=0x600+ _iswctype_l(long ptr)
@ cdecl -version=0x600+ _iswdigit_l(long ptr)
@ cdecl -version=0x600+ _iswgraph_l(long ptr)
@ cdecl -version=0x600+ _iswlower_l(long ptr)
@ cdecl -version=0x600+ _iswprint_l(long ptr)
@ cdecl -version=0x600+ _iswpunct_l(long ptr)
@ cdecl -version=0x600+ _iswspace_l(long ptr)
@ cdecl -version=0x600+ _iswupper_l(long ptr)
@ cdecl -version=0x600+ _iswxdigit_l(long ptr)
@ cdecl -version=0x600+ _isxdigit_l(long ptr)
@ cdecl _itoa(long ptr long)
@ cdecl -version=0x600+ _itoa_s(long str long long)
@ cdecl _itow(long ptr long)
@ cdecl -version=0x600+ _itow_s() # FIXME
@ cdecl _j0(double)
@ cdecl _j1(double)
@ cdecl _jn(long double)
@ cdecl _kbhit()
@ cdecl _lfind(ptr ptr ptr long ptr)
@ stub -version=0x600+ _lfind_s
@ cdecl -arch=i386 _loaddll(str)
@ cdecl -arch=x86_64 -version=0x502 _loaddll(str)
@ cdecl -arch=x86_64 _local_unwind(ptr ptr)
@ cdecl -arch=i386 _local_unwind2(ptr long)
@ cdecl -arch=i386 -version=0x600+ _local_unwind4(ptr ptr long)
@ cdecl -version=0x600+ _localtime32(ptr)
@ cdecl -version=0x600+ _localtime32_s(ptr ptr)
@ cdecl _localtime64(ptr)
@ cdecl -version=0x600+ _localtime64_s(ptr ptr)
@ cdecl _lock(long)
@ cdecl _locking(long long long)
@ cdecl _logb(double)
@ cdecl -arch=i386 _longjmpex(ptr long) longjmp
@ cdecl _lrotl(long long)
@ cdecl _lrotr(long long)
@ cdecl _lsearch(ptr ptr long long ptr)
@ stub -version=0x600+ _lsearch_s
@ cdecl _lseek(long long long)
@ cdecl -ret64 _lseeki64(long double long)
@ cdecl _ltoa(long ptr long)
@ cdecl -version=0x600+ _ltoa_s(long str long long)
@ cdecl _ltow(long ptr long)
@ cdecl -version=0x600+ _ltow_s(long ptr long long)
@ cdecl _makepath(ptr str str str str)
@ stub -version=0x600+ _makepath_s
@ stub -version=0x600+ _malloc_dbg
@ cdecl _mbbtombc(long)
@ stub -version=0x600+ _mbbtombc_l
@ cdecl _mbbtype(long long)
@ extern _mbcasemap
@ cdecl _mbccpy (str str)
@ stub -version=0x600+ _mbccpy_l
@ stub -version=0x600+ _mbccpy_s
@ stub -version=0x600+ _mbccpy_s_l
@ cdecl _mbcjistojms(long)
@ stub -version=0x600+ _mbcjistojms_l
@ cdecl _mbcjmstojis(long)
@ stub -version=0x600+ _mbcjmstojis_l
@ cdecl _mbclen(ptr)
@ stub -version=0x600+ _mbclen_l
@ cdecl _mbctohira(long)
@ stub -version=0x600+ _mbctohira_l
@ cdecl _mbctokata(long)
@ stub -version=0x600+ _mbctokata_l
@ cdecl _mbctolower(long)
@ stub -version=0x600+ _mbctolower_l
@ cdecl _mbctombb(long)
@ stub -version=0x600+ _mbctombb_l
@ cdecl _mbctoupper(long)
@ stub -version=0x600+ _mbctoupper_l
@ extern _mbctype
@ stub -version=0x600+ _mblen_l
@ cdecl _mbsbtype(str long)
@ stub -version=0x600+ _mbsbtype_l
@ cdecl _mbscat(str str)
@ stub -version=0x600+ _mbscat_s
@ stub -version=0x600+ _mbscat_s_l
@ cdecl _mbschr(str long)
@ stub -version=0x600+ _mbschr_l
@ cdecl _mbscmp(str str)
@ stub -version=0x600+ _mbscmp_l
@ cdecl _mbscoll(str str)
@ stub -version=0x600+ _mbscoll_l
@ cdecl _mbscpy(ptr str)
@ stub -version=0x600+ _mbscpy_s
@ stub -version=0x600+ _mbscpy_s_l
@ cdecl _mbscspn(str str)
@ stub -version=0x600+ _mbscspn_l
@ cdecl _mbsdec(ptr ptr)
@ stub -version=0x600+ _mbsdec_l
@ cdecl _mbsdup(str)
@ cdecl _mbsicmp(str str)
@ stub -version=0x600+ _mbsicmp_l
@ cdecl _mbsicoll(str str)
@ stub -version=0x600+ _mbsicoll_l
@ cdecl _mbsinc(str)
@ stub -version=0x600+ _mbsinc_l
@ cdecl _mbslen(str)
@ stub -version=0x600+ _mbslen_l
@ cdecl _mbslwr(str)
@ stub -version=0x600+ _mbslwr_l
@ stub -version=0x600+ _mbslwr_s
@ stub -version=0x600+ _mbslwr_s_l
@ cdecl _mbsnbcat(str str long)
@ stub -version=0x600+ _mbsnbcat_l
@ stub -version=0x600+ _mbsnbcat_s
@ stub -version=0x600+ _mbsnbcat_s_l
@ cdecl _mbsnbcmp(str str long)
@ stub -version=0x600+ _mbsnbcmp_l
@ cdecl _mbsnbcnt(ptr long)
@ stub -version=0x600+ _mbsnbcnt_l
@ cdecl _mbsnbcoll(str str long)
@ stub -version=0x600+ _mbsnbcoll_l
@ cdecl _mbsnbcpy(ptr str long)
@ stub -version=0x600+ _mbsnbcpy_l
@ cdecl -version=0x600+ _mbsnbcpy_s(ptr long str long)
@ stub -version=0x600+ _mbsnbcpy_s_l
@ cdecl _mbsnbicmp(str str long)
@ stub -version=0x600+ _mbsnbicmp_l
@ cdecl _mbsnbicoll(str str long)
@ stub -version=0x600+ _mbsnbicoll_l
@ cdecl _mbsnbset(str long long)
@ stub -version=0x600+ _mbsnbset_l
@ stub -version=0x600+ _mbsnbset_s
@ stub -version=0x600+ _mbsnbset_s_l
@ cdecl _mbsncat(str str long)
@ stub -version=0x600+ _mbsncat_l
@ stub -version=0x600+ _mbsncat_s
@ stub -version=0x600+ _mbsncat_s_l
@ cdecl _mbsnccnt(str long)
@ stub -version=0x600+ _mbsnccnt_l
@ cdecl _mbsncmp(str str long)
@ stub -version=0x600+ _mbsncmp_l
@ cdecl _mbsncoll(str str long)
@ stub -version=0x600+ _mbsncoll_l
@ cdecl _mbsncpy(str str long)
@ stub -version=0x600+ _mbsncpy_l
@ stub -version=0x600+ _mbsncpy_s
@ stub -version=0x600+ _mbsncpy_s_l
@ cdecl _mbsnextc(str)
@ stub -version=0x600+ _mbsnextc_l
@ cdecl _mbsnicmp(str str long)
@ stub -version=0x600+ _mbsnicmp_l
@ cdecl _mbsnicoll(str str long)
@ stub -version=0x600+ _mbsnicoll_l
@ cdecl _mbsninc(str long)
@ stub -version=0x600+ _mbsninc_l
@ stub -version=0x600+ _mbsnlen
@ stub -version=0x600+ _mbsnlen_l
@ cdecl _mbsnset(str long long)
@ stub -version=0x600+ _mbsnset_l
@ stub -version=0x600+ _mbsnset_s
@ stub -version=0x600+ _mbsnset_s_l
@ cdecl _mbspbrk(str str)
@ stub -version=0x600+ _mbspbrk_l
@ cdecl _mbsrchr(str long)
@ stub -version=0x600+ _mbsrchr_l
@ cdecl _mbsrev(str)
@ stub -version=0x600+ _mbsrev_l
@ cdecl _mbsset(str long)
@ stub -version=0x600+ _mbsset_l
@ stub -version=0x600+ _mbsset_s
@ stub -version=0x600+ _mbsset_s_l
@ cdecl _mbsspn(str str)
@ stub -version=0x600+ _mbsspn_l
@ cdecl _mbsspnp(str str)
@ stub -version=0x600+ _mbsspnp_l
@ cdecl _mbsstr(str str)
@ stub -version=0x600+ _mbsstr_l
@ cdecl _mbstok(str str)
@ stub -version=0x600+ _mbstok_l
@ stub -version=0x600+ _mbstok_s
@ stub -version=0x600+ _mbstok_s_l
@ cdecl -version=0x600+ _mbstowcs_l(ptr str long ptr)
@ stub -version=0x600+ _mbstowcs_s_l
@ cdecl _mbstrlen(str)
@ stub -version=0x600+ _mbstrlen_l
@ stub -version=0x600+ _mbstrnlen
@ stub -version=0x600+ _mbstrnlen_l
@ cdecl _mbsupr(str)
@ stub -version=0x600+ _mbsupr_l
@ stub -version=0x600+ _mbsupr_s
@ stub -version=0x600+ _mbsupr_s_l
@ cdecl -version=0x600+ _mbtowc_l(ptr wstr long long)
@ cdecl _memccpy(ptr ptr long long)
@ cdecl _memicmp(str str long)
@ cdecl -version=0x600+ _memicmp_l(ptr ptr long ptr)
@ cdecl _mkdir(str)
@ cdecl _mkgmtime(ptr)
@ cdecl -version=0x600+ _mkgmtime32(ptr)
@ cdecl _mkgmtime64(ptr)
@ cdecl _mktemp(str)
@ stub -version=0x600+ _mktemp_s
@ cdecl -version=0x600+ _mktime32(ptr)
@ cdecl _mktime64(ptr)
@ cdecl _msize(ptr)
@ stub -version=0x600+ -arch=i386 _msize_debug
@ cdecl _nextafter(double double)
@ stub -arch=x86_64 _nextafterf
@ extern _onexit # Declaring it as extern let us use the symbol from msvcrtex while having the __imp_ symbol defined in the import lib
@ varargs _open(str long)
@ cdecl _open_osfhandle(long long)
@ extern -arch=i386,x86_64 _osplatform
@ extern _osver
@ cdecl -arch=i386 _outp(long long) MSVCRT__outp
@ cdecl -arch=i386 _outpd(long long) MSVCRT__outpd
@ cdecl -arch=i386 _outpw(long long) MSVCRT__outpw
@ cdecl _pclose(ptr)
@ extern _pctype
@ extern _pgmptr
@ cdecl _pipe(ptr long long)
@ cdecl _popen(str str)
@ stub -version=0x600+ _printf_l
@ stub -version=0x600+ _printf_p
@ stub -version=0x600+ _printf_p_l
@ stub -version=0x600+ _printf_s_l
@ cdecl _purecall()
@ cdecl _putch(long)
@ cdecl _putenv(str)
@ stub -version=0x600+ _putenv_s
@ cdecl _putw(long ptr)
@ cdecl _putwch(long)
@ cdecl _putws(wstr)
@ extern _pwctype
@ cdecl _read(long ptr long)
@ stub -version=0x600+ _realloc_dbg
@ cdecl _resetstkoflw()
@ cdecl _rmdir(str)
@ cdecl _rmtmp()
@ cdecl _rotl(long long)
# stub _rotl64
@ cdecl _rotr(long long)
# stub _rotr64
@ cdecl -arch=i386 _safe_fdiv()
@ cdecl -arch=i386 _safe_fdivr()
@ cdecl -arch=i386 _safe_fprem()
@ cdecl -arch=i386 _safe_fprem1()
@ cdecl _scalb(double long)
@ stub -arch=x86_64 _scalbf
@ stub -version=0x600+ _scanf_l
@ stub -version=0x600+ _scanf_s_l
@ varargs _scprintf(str)
@ stub -version=0x600+ _scprintf_l
@ stub -version=0x600+ _scprintf_p_l
@ varargs _scwprintf(wstr)
@ stub -version=0x600+ _scwprintf_l
@ stub -version=0x600+ _scwprintf_p_l
@ cdecl _searchenv(str str ptr)
@ cdecl -version=0x600+ _searchenv_s(str str ptr long)
@ stdcall -version=0x600+ -arch=i386 _seh_longjmp_unwind4(ptr)
@ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
@ stub -arch=i386 _set_SSE2_enable
@ stub -version=0x600+ _set_controlfp
@ cdecl -version=0x600+ _set_doserrno(long)
@ cdecl -version=0x600+ _set_errno(long)
@ cdecl _set_error_mode(long)
@ stub -version=0x600+ _set_fileinfo
@ stub -version=0x600+ _set_fmode
@ stub -version=0x600+ _set_output_format
@ cdecl _set_sbh_threshold(long)
@ cdecl _seterrormode(long)
@ cdecl -norelay _setjmp(ptr)
@ cdecl -arch=i386 -norelay _setjmp3(ptr long)
@ cdecl -arch=x86_64,arm -norelay _setjmpex(ptr ptr)
@ cdecl _setmaxstdio(long)
@ cdecl _setmbcp(long)
@ cdecl _setmode(long long)
@ cdecl _setsystime(ptr long)
@ cdecl _sleep(long)
@ varargs _snprintf(ptr long str)
@ stub -version=0x600+ _snprintf_c
@ stub -version=0x600+ _snprintf_c_l
@ stub -version=0x600+ _snprintf_l
@ stub -version=0x600+ _snprintf_s
@ stub -version=0x600+ _snprintf_s_l
@ varargs _snscanf(str long str)
@ stub -version=0x600+ _snscanf_l
@ stub -version=0x600+ _snscanf_s
@ stub -version=0x600+ _snscanf_s_l
@ varargs _snwprintf(ptr long wstr)
@ stub -version=0x600+ _snwprintf_l
@ stub -version=0x600+ _snwprintf_s
@ stub -version=0x600+ _snwprintf_s_l
@ varargs _snwscanf(wstr long wstr)
@ stub -version=0x600+ _snwscanf_l
@ stub -version=0x600+ _snwscanf_s
@ stub -version=0x600+ _snwscanf_s_l
@ varargs _sopen(str long long)
@ cdecl -version=0x600+ _sopen_s(ptr str long 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)
@ stub -version=0x600+ _splitpath_s
@ stub -version=0x600+ _sprintf_l
@ stub -version=0x600+ _sprintf_p_l
@ stub -version=0x600+ _sprintf_s_l
@ stub -version=0x600+ _sscanf_l
@ stub -version=0x600+ _sscanf_s_l
@ cdecl _stat(str ptr)
@ cdecl _stat64(str ptr)
@ cdecl _stati64(str ptr)
@ cdecl _statusfp()
@ cdecl _strcmpi(str str)
@ cdecl -version=0x600+ _strcoll_l(str str ptr)
@ cdecl _strdate(ptr)
@ cdecl -version=0x600+ _strdate_s(ptr long)
@ cdecl _strdup(str)
@ stub -version=0x600+ _strdup_dbg
@ cdecl _strerror(long)
@ cdecl -version=0x600+ _strerror_s(ptr long str)
@ cdecl _stricmp(str str)
@ cdecl -version=0x600+ _stricmp_l(str str ptr)
@ cdecl _stricoll(str str)
@ cdecl -version=0x600+ _stricoll_l(str str ptr)
@ cdecl _strlwr(str)
@ stub -version=0x600+ _strlwr_l
@ cdecl -version=0x600+ _strlwr_s(str long)
@ cdecl -version=0x600+ _strlwr_s_l(str long ptr)
@ cdecl _strncoll(str str long)
@ cdecl -version=0x600+ _strncoll_l(str str long ptr)
@ cdecl _strnicmp(str str long)
@ cdecl -version=0x600+ _strnicmp_l(str str long ptr)
@ cdecl _strnicoll(str str long)
@ cdecl -version=0x600+ _strnicoll_l(str str long ptr)
@ cdecl _strnset(str long long)
@ cdecl -version=0x600+ _strnset_s(str long long long)
@ cdecl _strrev(str)
@ cdecl _strset(str long)
@ cdecl -version=0x600+ _strset_s(str long long)
@ cdecl _strtime(ptr)
@ cdecl -version=0x600+ _strtime_s(ptr long)
@ stub -version=0x600+ _strtod_l
@ cdecl _strtoi64(str ptr long)
@ cdecl -version=0x600+ _strtoi64_l(str ptr long ptr)
@ stub -version=0x600+ _strtol_l
@ cdecl _strtoui64(str ptr long) strtoull
@ stub -version=0x600+ _strtoui64_l
@ cdecl -version=0x600+ _strtoul_l(str ptr long ptr)
@ cdecl _strupr(str)
@ cdecl -version=0x600+ _strupr_l(str ptr)
@ cdecl -version=0x600+ _strupr_s(str long)
@ cdecl -version=0x600+ _strupr_s_l(str long ptr)
@ cdecl -version=0x600+ _strxfrm_l(ptr str long ptr)
@ cdecl _swab(str str long)
@ cdecl -version=0x400-0x502 -impsym _swprintf(ptr str) swprintf # Compatibility for pre NT6
@ cdecl -version=0x600+ _swprintf(ptr str)
@ stub -version=0x600+ _swprintf_c
@ stub -version=0x600+ _swprintf_c_l
@ stub -version=0x600+ _swprintf_p_l
@ stub -version=0x600+ _swprintf_s_l
@ stub -version=0x600+ _swscanf_l
@ stub -version=0x600+ _swscanf_s_l
@ extern _sys_errlist
@ extern _sys_nerr
@ cdecl _tell(long)
@ cdecl -ret64 _telli64(long)
@ cdecl _tempnam(str str)
@ stub -version=0x600+ _tempnam_dbg
@ stub -version=0x600+ _time32
@ cdecl _time64(ptr)
@ extern _timezone
@ cdecl _tolower(long)
@ cdecl -version=0x600+ _tolower_l(long ptr)
@ cdecl _toupper(long)
@ cdecl -version=0x600+ _toupper_l(long ptr)
@ cdecl -version=0x600+ _towlower_l(long ptr)
@ cdecl -version=0x600+ _towupper_l(long ptr)
@ extern _tzname
@ cdecl _tzset()
@ cdecl _ui64toa(long long ptr long)
@ cdecl -version=0x600+ _ui64toa_s(int64 ptr long long)
@ cdecl _ui64tow(long long ptr long)
@ cdecl -version=0x600+ _ui64tow_s(int64 ptr long long)
@ cdecl _ultoa(long ptr long)
@ stub -version=0x600+ _ultoa_s
@ cdecl _ultow(long ptr long)
@ stub -version=0x600+ _ultow_s
@ cdecl _umask(long)
@ stub -version=0x600+ _umask_s
@ cdecl _ungetch(long)
# stub _ungetwch
@ cdecl _unlink(str)
@ cdecl -arch=i386 _unloaddll(ptr)
@ cdecl -arch=x86_64 -version=0x502 _unloaddll(ptr)
@ cdecl _unlock(long)
@ cdecl _utime(str ptr)
@ stub -version=0x600+ _utime32
@ cdecl _utime64(str ptr)
@ stub -version=0x600+ _vcprintf
@ stub -version=0x600+ _vcprintf_l
@ stub -version=0x600+ _vcprintf_p
@ stub -version=0x600+ _vcprintf_p_l
@ stub -version=0x600+ _vcprintf_s
@ stub -version=0x600+ _vcprintf_s_l
@ cdecl -version=0x600+ _vcwprintf(wstr ptr)
@ stub -version=0x600+ _vcwprintf_l
@ stub -version=0x600+ _vcwprintf_p
@ stub -version=0x600+ _vcwprintf_p_l
@ stub -version=0x600+ _vcwprintf_s
@ stub -version=0x600+ _vcwprintf_s_l
@ stub -version=0x600+ _vfprintf_l
@ stub -version=0x600+ _vfprintf_p
@ stub -version=0x600+ _vfprintf_p_l
@ stub -version=0x600+ _vfprintf_s_l
@ stub -version=0x600+ _vfwprintf_l
@ stub -version=0x600+ _vfwprintf_p
@ stub -version=0x600+ _vfwprintf_p_l
@ stub -version=0x600+ _vfwprintf_s_l
@ stub -version=0x600+ _vprintf_l
@ stub -version=0x600+ _vprintf_p
@ stub -version=0x600+ _vprintf_p_l
@ stub -version=0x600+ _vprintf_s_l
@ cdecl _vscprintf(str ptr)
@ stub -version=0x600+ _vscprintf_l
@ stub -version=0x600+ _vscprintf_p_l
@ cdecl _vscwprintf(wstr ptr)
@ stub -version=0x600+ _vscwprintf_l
@ stub -version=0x600+ _vscwprintf_p_l
@ cdecl _vsnprintf(ptr long str ptr)
@ stub -version=0x600+ _vsnprintf_c
@ stub -version=0x600+ _vsnprintf_c_l
@ stub -version=0x600+ _vsnprintf_l
@ stub -version=0x600+ _vsnprintf_s
@ stub -version=0x600+ _vsnprintf_s_l
@ cdecl _vsnwprintf(ptr long wstr ptr)
@ stub -version=0x600+ _vsnwprintf_l
@ stub -version=0x600+ _vsnwprintf_s
@ stub -version=0x600+ _vsnwprintf_s_l
@ stub -version=0x600+ _vsprintf_l
@ stub -version=0x600+ _vsprintf_p
@ stub -version=0x600+ _vsprintf_p_l
@ stub -version=0x600+ _vsprintf_s_l
@ cdecl -version=0x400-0x502 -impsym _vswprintf() vswprintf # Compatibility for pre NT6
@ stub -version=0x600+ _vswprintf
@ stub -version=0x600+ _vswprintf_c
@ stub -version=0x600+ _vswprintf_c_l
@ stub -version=0x600+ _vswprintf_l
@ stub -version=0x600+ _vswprintf_p_l
@ stub -version=0x600+ _vswprintf_s_l
@ stub -version=0x600+ _vwprintf_l
@ stub -version=0x600+ _vwprintf_p
@ stub -version=0x600+ _vwprintf_p_l
@ stub -version=0x600+ _vwprintf_s_l
@ cdecl _waccess(wstr long)
@ cdecl -version=0x600+ _waccess_s(wstr long)
@ cdecl _wasctime(ptr)
@ cdecl -version=0x600+ _wasctime_s(ptr long ptr)
@ stub -version=0x600+ _wassert
@ cdecl _wchdir(wstr)
@ cdecl _wchmod(wstr long)
@ extern _wcmdln
@ cdecl _wcreat(wstr long)
@ cdecl -version=0x600+ _wcscoll_l(str str ptr)
@ cdecl _wcsdup(wstr)
@ stub -version=0x600+ _wcsdup_dbg
@ cdecl _wcserror(long)
@ cdecl -version=0x600+ _wcserror_s(ptr long long)
@ stub -version=0x600+ _wcsftime_l
@ cdecl _wcsicmp(wstr wstr)
@ cdecl -version=0x600+ _wcsicmp_l(wstr wstr ptr)
@ cdecl _wcsicoll(wstr wstr)
@ cdecl -version=0x600+ _wcsicoll_l(wstr wstr ptr)
@ cdecl _wcslwr(wstr)
@ cdecl -version=0x600+ _wcslwr_l(wstr ptr)
@ cdecl -version=0x600+ _wcslwr_s(wstr long)
@ cdecl -version=0x600+ _wcslwr_s_l(wstr long ptr)
@ cdecl _wcsncoll(wstr wstr long)
@ cdecl -version=0x600+ _wcsncoll_l(wstr wstr long ptr)
@ cdecl _wcsnicmp(wstr wstr long)
@ cdecl -version=0x600+ _wcsnicmp_l(wstr wstr long ptr)
@ cdecl _wcsnicoll(wstr wstr long)
@ cdecl -version=0x600+ _wcsnicoll_l(wstr str long ptr)
@ cdecl _wcsnset(wstr long long)
@ cdecl -version=0x600+ _wcsnset_s(wstr long long long)
@ cdecl _wcsrev(wstr)
@ cdecl _wcsset(wstr long)
@ cdecl -version=0x600+ _wcsset_s(ptr long long)
@ cdecl _wcstoi64(wstr ptr long)
@ cdecl -version=0x600+ _wcstoi64_l(wstr ptr long ptr)
@ stub -version=0x600+ _wcstol_l
@ cdecl -version=0x600+ _wcstombs_l(ptr wstr long ptr)
@ stub -version=0x600+ _wcstombs_s_l
@ cdecl _wcstoui64(wstr ptr long)
@ cdecl -version=0x600+ _wcstoui64_l(wstr ptr long ptr)
@ stub -version=0x600+ _wcstoul_l
@ cdecl _wcsupr(wstr)
@ cdecl -version=0x600+ _wcsupr_l(wstr ptr)
@ cdecl -version=0x600+ _wcsupr_s(wstr long)
@ cdecl -version=0x600+ _wcsupr_s_l(ptr long ptr)
@ cdecl -version=0x600+ _wcsxfrm_l(ptr wstr long ptr)
@ cdecl _wctime(ptr)
@ stub -version=0x600+ _wctime32
@ stub -version=0x600+ _wctime32_s
@ cdecl _wctime64(ptr)
@ cdecl -version=0x600+ _wctime64_s(ptr long ptr)
@ stub -version=0x600+ _wctomb_l
@ stub -version=0x600+ _wctomb_s_l
@ extern _wctype
@ extern -arch=i386,x86_64 _wenviron
@ varargs _wexecl(wstr wstr)
@ varargs _wexecle(wstr wstr)
@ varargs _wexeclp(wstr wstr)
@ varargs _wexeclpe(wstr wstr)
@ cdecl _wexecv(wstr ptr)
@ cdecl _wexecve(wstr ptr ptr)
@ cdecl _wexecvp(wstr ptr)
@ cdecl _wexecvpe(wstr ptr ptr)
@ cdecl _wfdopen(long wstr)
@ cdecl _wfindfirst(wstr ptr)
@ cdecl _wfindfirst64(wstr ptr)
@ cdecl _wfindfirsti64(wstr ptr)
@ cdecl _wfindnext(long ptr)
@ cdecl _wfindnext64(long ptr)
@ cdecl _wfindnexti64(long ptr)
@ cdecl _wfopen(wstr wstr)
@ cdecl -version=0x600+ _wfopen_s(ptr wstr wstr)
@ cdecl _wfreopen(wstr wstr ptr)
@ stub -version=0x600+ _wfreopen_s
@ cdecl _wfsopen(wstr wstr long)
@ cdecl _wfullpath(ptr wstr long)
@ stub -version=0x600+ _wfullpath_dbg
@ cdecl _wgetcwd(wstr long)
@ cdecl _wgetdcwd(long wstr long)
@ cdecl _wgetenv(wstr)
@ stub -version=0x600+ _wgetenv_s
@ extern _winmajor
@ extern _winminor
@ stub -version=0x600+ _winput_s
@ extern -arch=i386,x86_64 _winver
@ cdecl _wmakepath(ptr wstr wstr wstr wstr)
@ stub -version=0x600+ _wmakepath_s
@ cdecl _wmkdir(wstr)
@ cdecl _wmktemp(wstr)
@ stub -version=0x600+ _wmktemp_s
@ varargs _wopen(wstr long)
@ stub -version=0x600+ _woutput_s
@ cdecl _wperror(wstr)
@ extern _wpgmptr
@ cdecl _wpopen(wstr wstr)
@ stub -version=0x600+ _wprintf_l
@ stub -version=0x600+ _wprintf_p
@ stub -version=0x600+ _wprintf_p_l
@ stub -version=0x600+ _wprintf_s_l
@ cdecl _wputenv(wstr)
@ stub -version=0x600+ _wputenv_s
@ cdecl _wremove(wstr)
@ cdecl _wrename(wstr wstr)
@ cdecl _write(long ptr long)
@ cdecl _wrmdir(wstr)
@ stub -version=0x600+ _wscanf_l
@ stub -version=0x600+ _wscanf_s_l
@ cdecl _wsearchenv(wstr wstr ptr)
@ cdecl -version=0x600+ _wsearchenv_s(wstr wstr ptr long)
@ cdecl _wsetlocale(long wstr)
@ varargs _wsopen(wstr long long)
@ cdecl -version=0x600+ _wsopen_s(ptr wstr long 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 ptr ptr ptr ptr)
@ stub -version=0x600+ _wsplitpath_s
@ cdecl _wstat(wstr ptr)
@ cdecl _wstat64(wstr ptr)
@ cdecl _wstati64(wstr ptr)
@ cdecl _wstrdate(ptr)
@ cdecl -version=0x600+ _wstrdate_s(ptr long)
@ cdecl _wstrtime(ptr)
@ stub -version=0x600+ _wstrtime_s
@ cdecl _wsystem(wstr)
@ cdecl _wtempnam(wstr wstr)
@ stub -version=0x600+ _wtempnam_dbg
@ cdecl _wtmpnam(ptr)
@ stub -version=0x600+ _wtmpnam_s
@ cdecl _wtof(wstr)
@ stub -version=0x600+ _wtof_l
@ cdecl _wtoi(wstr)
@ cdecl _wtoi64(wstr)
@ cdecl -version=0x600+ _wtoi64_l(wstr ptr)
@ stub -version=0x600+ _wtoi_l
@ cdecl _wtol(wstr)
@ stub -version=0x600+ _wtol_l
@ cdecl _wunlink(wstr)
@ cdecl _wutime(wstr ptr)
@ stub -version=0x600+ _wutime32
@ cdecl _wutime64(wstr ptr)
@ cdecl _y0(double)
@ cdecl _y1(double)
@ cdecl _yn(long double )
@ cdecl abort()
@ cdecl abs(long)
@ cdecl acos(double)
@ cdecl -arch=x86_64,arm acosf(long)
@ cdecl asctime(ptr)
@ cdecl -version=0x600+ asctime_s(ptr long ptr)
@ cdecl asin(double)
@ cdecl -arch=x86_64,arm asinf(long)
@ cdecl atan(double)
@ cdecl atan2(double double)
@ cdecl -arch=x86_64,arm atan2f(long)
@ cdecl -arch=x86_64,arm atanf(long)
@ extern atexit # Declaring it as extern let us use the symbol from msvcrtex while having the __imp_ symbol defined in the import lib for those who really need it
@ cdecl atof(str)
@ cdecl atoi(str)
@ cdecl atol(str)
@ cdecl bsearch(ptr ptr long long ptr)
@ stub -version=0x600+ bsearch_s
@ stub -version=0x600+ btowc
@ cdecl calloc(long long)
@ cdecl ceil(double)
@ cdecl -arch=x86_64,arm ceilf(long)
@ cdecl clearerr(ptr)
@ stub -version=0x600+ clearerr_s
@ cdecl clock()
@ cdecl cos(double)
@ cdecl -arch=x86_64,arm cosf(long)
@ cdecl cosh(double)
@ cdecl -arch=x86_64,arm coshf(long)
@ cdecl ctime(ptr)
@ cdecl difftime(long long)
@ cdecl div(long long)
@ cdecl exit(long)
@ cdecl exp(double)
@ cdecl -arch=x86_64,arm expf(long)
@ cdecl fabs(double)
@ cdecl -arch=arm fabsf(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 -arch=x86_64,arm floorf(long)
@ cdecl fmod(double double)
@ cdecl -arch=x86_64,arm fmodf(long)
@ cdecl fopen(str str)
@ cdecl -version=0x600+ fopen_s(ptr str str)
@ varargs fprintf(ptr str)
@ stub -version=0x600+ fprintf_s
@ 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)
@ stub -version=0x600+ freopen_s
@ cdecl frexp(double ptr)
@ varargs fscanf(ptr str)
@ stub -version=0x600+ fscanf_s
@ cdecl fseek(ptr long long)
@ cdecl fsetpos(ptr ptr)
@ cdecl ftell(ptr)
@ varargs fwprintf(ptr wstr)
@ stub -version=0x600+ fwprintf_s
@ cdecl fwrite(ptr long long ptr)
@ varargs fwscanf(ptr wstr)
@ stub -version=0x600+ fwscanf_s
@ cdecl getc(ptr)
@ cdecl getchar()
@ cdecl getenv(str)
@ stub -version=0x600+ getenv_s
@ 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 -arch=x86_64,arm log10f(long)
@ cdecl -arch=x86_64,arm logf(long)
@ cdecl longjmp(ptr long)
@ cdecl malloc(long)
@ cdecl mblen(ptr long)
@ cdecl -version=0x600+ mbrlen(str long ptr)
@ cdecl -version=0x600+ mbrtowc(ptr str long ptr)
@ stub -version=0x600+ mbsdup_dbg
@ stub -version=0x600+ mbsrtowcs
@ stub -version=0x600+ mbsrtowcs_s
@ cdecl mbstowcs(ptr str long)
@ stub -version=0x600+ mbstowcs_s
@ cdecl mbtowc(wstr str long)
@ cdecl memchr(ptr long long)
@ cdecl memcmp(ptr ptr long)
@ cdecl memcpy(ptr ptr long)
@ cdecl -version=0x600+ memcpy_s(ptr long)
@ cdecl memmove(ptr ptr long)
@ cdecl -version=0x600+ memmove_s(ptr long ptr long)
@ cdecl memset(ptr long long)
@ cdecl mktime(ptr)
@ cdecl modf(double ptr)
@ cdecl -arch=x86_64,arm modff(long ptr)
@ cdecl perror(str)
@ cdecl pow(double double)
@ cdecl -arch=x86_64,arm powf(long)
@ varargs printf(str)
@ stub -version=0x600+ printf_s
@ 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)
@ stub -version=0x600+ qsort_s
@ cdecl raise(long)
@ cdecl rand()
@ cdecl -version=0x600+ rand_s(ptr)
@ cdecl realloc(ptr long)
@ cdecl remove(str)
@ cdecl rename(str str)
@ cdecl rewind(ptr)
@ varargs scanf(str)
@ stub -version=0x600+ scanf_s
@ cdecl setbuf(ptr ptr)
@ cdecl -arch=x86_64,arm -norelay setjmp(ptr ptr) _setjmp
@ cdecl setlocale(long str)
@ cdecl setvbuf(ptr str long long)
@ cdecl signal(long long)
@ cdecl sin(double)
@ cdecl -arch=x86_64,arm sinf(long)
@ cdecl sinh(double)
@ cdecl -arch=x86_64,arm sinhf(long)
@ varargs sprintf(ptr str)
@ varargs -version=0x600+ sprintf_s(ptr long str)
@ cdecl sqrt(double)
@ cdecl -arch=x86_64,arm sqrtf(long)
@ cdecl srand(long)
@ varargs sscanf(str str)
@ stub -version=0x600+ sscanf_s
@ cdecl strcat(str str)
@ cdecl -version=0x600+ strcat_s(ptr long str)
@ cdecl strchr(str long)
@ cdecl strcmp(str str)
@ cdecl strcoll(str str)
@ cdecl strcpy(ptr str)
@ cdecl -version=0x600+ strcpy_s(ptr long str)
@ cdecl strcspn(str str)
@ cdecl strerror(long)
@ cdecl -version=0x600+ strerror_s(ptr long long)
@ cdecl strftime(str long str ptr)
@ cdecl strlen(str)
@ cdecl strncat(str str long)
@ cdecl -version=0x600+ strncat_s(str long str long)
@ cdecl strncmp(str str long)
@ cdecl strncpy(ptr str long)
@ cdecl -version=0x600+ strncpy_s(ptr long str long)
@ cdecl -version=0x600+ strnlen(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 -version=0x600+ strtok_s(str str ptr)
@ cdecl strtol(str ptr long)
@ cdecl strtoul(str ptr long)
@ cdecl strxfrm(ptr str long)
@ varargs swprintf(ptr wstr)
@ stub -version=0x600+ swprintf_s
@ varargs swscanf(wstr wstr)
@ stub -version=0x600+ swscanf_s
@ cdecl system(str)
@ cdecl tan(double)
@ cdecl -arch=x86_64,arm tanf(long)
@ cdecl tanh(double)
@ cdecl -arch=x86_64,arm tanhf(long)
@ cdecl time(ptr)
@ cdecl tmpfile()
@ stub -version=0x600+ tmpfile_s
@ cdecl tmpnam(ptr)
@ stub -version=0x600+ tmpnam_s
@ cdecl tolower(long)
@ cdecl toupper(long)
@ cdecl towlower(long)
@ cdecl towupper(long)
@ cdecl ungetc(long ptr)
@ cdecl ungetwc(long ptr)
@ stub -version=0x600+ utime
@ cdecl vfprintf(ptr str ptr)
@ stub -version=0x600+ vfprintf_s
@ cdecl vfwprintf(ptr wstr ptr)
@ stub -version=0x600+ vfwprintf_s
@ cdecl vprintf(str ptr)
@ stub -version=0x600+ vprintf_s
@ cdecl -version=0x600+ vsnprintf(ptr long str ptr)
@ cdecl vsprintf(ptr str ptr)
@ stub -version=0x600+ vsprintf_s
@ cdecl vswprintf(ptr wstr ptr)
@ stub -version=0x600+ vswprintf_s
@ cdecl vwprintf(wstr ptr)
@ stub -version=0x600+ vwprintf_s
@ cdecl -version=0x600+ wcrtomb(ptr long ptr)
@ stub -version=0x600+ wcrtomb_s
@ cdecl wcscat(wstr wstr)
@ cdecl -version=0x600+ wcscat_s(wstr long wstr)
@ cdecl wcschr(wstr long)
@ cdecl wcscmp(wstr wstr)
@ cdecl wcscoll(wstr wstr)
@ cdecl wcscpy(ptr wstr)
@ cdecl -version=0x600+ wcscpy_s(wstr long wstr)
@ cdecl wcscspn(wstr wstr)
@ cdecl wcsftime(ptr long wstr ptr)
@ cdecl wcslen(wstr)
@ cdecl wcsncat(wstr wstr long)
@ cdecl -version=0x600+ wcsncat_s(wstr long wstr long)
@ cdecl wcsncmp(wstr wstr long)
@ cdecl wcsncpy(ptr wstr long)
@ cdecl -version=0x600+ wcsncpy_s(ptr long wstr long)
@ cdecl -version=0x600+ wcsnlen(wstr long)
@ cdecl wcspbrk(wstr wstr)
@ cdecl wcsrchr(wstr long)
@ stub -version=0x600+ wcsrtombs
@ stub -version=0x600+ wcsrtombs_s
@ cdecl wcsspn(wstr wstr)
@ cdecl wcsstr(wstr wstr)
@ cdecl wcstod(wstr ptr)
@ cdecl wcstok(wstr wstr)
@ cdecl -version=0x600+ wcstok_s(wstr wstr ptr)
@ cdecl wcstol(wstr ptr long)
@ cdecl wcstombs(ptr ptr long)
@ stub -version=0x600+ wcstombs_s
@ cdecl wcstoul(wstr ptr long)
@ cdecl wcsxfrm(ptr wstr long)
@ stub -version=0x600+ wctob
@ cdecl wctomb(ptr long)
@ stub -version=0x600+ wctomb_s
@ varargs wprintf(wstr)
@ stub -version=0x600+ wprintf_s
@ varargs wscanf(wstr)
@ stub -version=0x600+ wscanf_s