diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c index e73f93e8184..e0781b915b6 100644 --- a/dlls/msvcirt/msvcirt.c +++ b/dlls/msvcirt/msvcirt.c @@ -1,5 +1,6 @@ /* * Copyright (C) 2007 Alexandre Julliard + * Copyright (C) 2015 Iván Matellanes * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,6 +20,7 @@ #include "config.h" #include +#include #include "msvcirt.h" #include "windef.h" @@ -27,6 +29,28 @@ WINE_DEFAULT_DEBUG_CHANNEL(msvcirt); +/* class streambuf */ +typedef struct { + const vtable_ptr *vtable; + int allocated; + int unbuffered; + int unknown; + char *base; + char *ebuf; + char *pbase; + char *pptr; + char *epptr; + char *eback; + char *gptr; + char *egptr; + int unknown2; + CRITICAL_SECTION lock; +} streambuf; + +streambuf* __thiscall streambuf_setbuf(streambuf*, char*, int); +void __thiscall streambuf_setg(streambuf*, char*, char*, char*); +void __thiscall streambuf_setp(streambuf*, char*, char*); + typedef struct { LPVOID VTable; } class_ios; @@ -39,6 +63,250 @@ typedef struct { LPVOID VTable; } class_strstreambuf; +/* ??_7streambuf@@6B@ */ +extern const vtable_ptr MSVCP_streambuf_vtable; + +#ifndef __GNUC__ +void __asm_dummy_vtables(void) { +#endif + __ASM_VTABLE(streambuf, + VTABLE_ADD_FUNC(streambuf_vector_dtor) + VTABLE_ADD_FUNC(streambuf_sync) + VTABLE_ADD_FUNC(streambuf_setbuf) + VTABLE_ADD_FUNC(streambuf_seekoff) + VTABLE_ADD_FUNC(streambuf_seekpos) + VTABLE_ADD_FUNC(streambuf_xsputn) + VTABLE_ADD_FUNC(streambuf_xsgetn) + VTABLE_ADD_FUNC(streambuf_overflow) + VTABLE_ADD_FUNC(streambuf_underflow) + VTABLE_ADD_FUNC(streambuf_pbackfail) + VTABLE_ADD_FUNC(streambuf_doallocate)); +#ifndef __GNUC__ +} +#endif + +DEFINE_RTTI_DATA0(streambuf, 0, ".?AVstreambuf@@") + +/* ??0streambuf@@IAE@PADH@Z */ +/* ??0streambuf@@IEAA@PEADH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_reserve_ctor, 12) +streambuf* __thiscall streambuf_reserve_ctor(streambuf *this, char *buffer, int length) +{ + TRACE("(%p %p %d)\n", this, buffer, length); + this->vtable = &MSVCP_streambuf_vtable; + this->allocated = 0; + this->unknown = -1; + this->unknown2 = -1; + this->base = NULL; + streambuf_setbuf(this, buffer, length); + streambuf_setg(this, NULL, NULL, NULL); + streambuf_setp(this, NULL, NULL); + InitializeCriticalSection(&this->lock); + return this; +} + +/* ??0streambuf@@IAE@XZ */ +/* ??0streambuf@@IEAA@XZ */ +DEFINE_THISCALL_WRAPPER(streambuf_ctor, 4) +streambuf* __thiscall streambuf_ctor(streambuf *this) +{ + streambuf_reserve_ctor(this, NULL, 0); + this->unbuffered = 0; + return this; +} + +/* ??0streambuf@@QAE@ABV0@@Z */ +/* ??0streambuf@@QEAA@AEBV0@@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_copy_ctor, 8) +streambuf* __thiscall streambuf_copy_ctor(streambuf *this, const streambuf *copy) +{ + TRACE("(%p %p)\n", this, copy); + *this = *copy; + this->vtable = &MSVCP_streambuf_vtable; + return this; +} + +/* ??1streambuf@@UAE@XZ */ +/* ??1streambuf@@UEAA@XZ */ +DEFINE_THISCALL_WRAPPER(streambuf_dtor, 4) +void __thiscall streambuf_dtor(streambuf *this) +{ + TRACE("(%p)\n", this); + if (this->allocated) + MSVCRT_operator_delete(this->base); + DeleteCriticalSection(&this->lock); +} + +/* ??4streambuf@@QAEAAV0@ABV0@@Z */ +/* ??4streambuf@@QEAAAEAV0@AEBV0@@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_assign, 8) +streambuf* __thiscall streambuf_assign(streambuf *this, const streambuf *rhs) +{ + streambuf_dtor(this); + return streambuf_copy_ctor(this, rhs); +} + +/* ??_Estreambuf@@UAEPAXI@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_vector_dtor, 8) +streambuf* __thiscall streambuf_vector_dtor(streambuf *this, unsigned int flags) +{ + TRACE("(%p %x)\n", this, flags); + if (flags & 2) { + /* we have an array, with the number of elements stored before the first object */ + INT_PTR i, *ptr = (INT_PTR *)this-1; + + for (i = *ptr-1; i >= 0; i--) + streambuf_dtor(this+i); + MSVCRT_operator_delete(ptr); + } else { + streambuf_dtor(this); + if (flags & 1) + MSVCRT_operator_delete(this); + } + return this; +} + +/* ??_Gstreambuf@@UAEPAXI@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_scalar_dtor, 8) +streambuf* __thiscall streambuf_scalar_dtor(streambuf *this, unsigned int flags) +{ + TRACE("(%p %x)\n", this, flags); + streambuf_dtor(this); + if (flags & 1) MSVCRT_operator_delete(this); + return this; +} + +/* ?doallocate@streambuf@@MAEHXZ */ +/* ?doallocate@streambuf@@MEAAHXZ */ +DEFINE_THISCALL_WRAPPER(streambuf_doallocate, 4) +int __thiscall streambuf_doallocate(streambuf *this) +{ + FIXME("(%p): stub\n", this); + return EOF; +} + +/* Unexported */ +DEFINE_THISCALL_WRAPPER(streambuf_overflow, 8) +int __thiscall streambuf_overflow(streambuf *this, int c) +{ + return EOF; +} + +/* ?pbackfail@streambuf@@UAEHH@Z */ +/* ?pbackfail@streambuf@@UEAAHH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_pbackfail, 8) +int __thiscall streambuf_pbackfail(streambuf *this, int c) +{ + FIXME("(%p %d): stub\n", this, c); + return 0; +} + +/* ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z */ +/* ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_seekoff, 16) +streampos __thiscall streambuf_seekoff(streambuf *this, streamoff offset, int dir, int mode) +{ + FIXME("(%p %d %d %d): stub\n", this, offset, dir, mode); + return EOF; +} + +/* ?seekpos@streambuf@@UAEJJH@Z */ +/* ?seekpos@streambuf@@UEAAJJH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_seekpos, 12) +streampos __thiscall streambuf_seekpos(streambuf *this, streampos pos, int mode) +{ + FIXME("(%p %d %d): stub\n", this, pos, mode); + return EOF; +} + +/* ?setb@streambuf@@IAEXPAD0H@Z */ +/* ?setb@streambuf@@IEAAXPEAD0H@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_setb, 16) +void __thiscall streambuf_setb(streambuf *this, char *ba, char *eb, int delete) +{ + TRACE("(%p %p %p %d)\n", this, ba, eb, delete); + if (this->allocated) + MSVCRT_operator_delete(this->base); + this->allocated = delete; + this->base = ba; + this->ebuf = eb; +} + +/* ?setbuf@streambuf@@UAEPAV1@PADH@Z */ +/* ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_setbuf, 12) +streambuf* __thiscall streambuf_setbuf(streambuf *this, char *buffer, int length) +{ + TRACE("(%p %p %d)\n", this, buffer, length); + if (this->base != NULL) + return NULL; + + if (buffer == NULL || !length) { + this->unbuffered = 1; + this->base = this->ebuf = NULL; + } else { + this->unbuffered = 0; + this->base = buffer; + this->ebuf = buffer + length; + } + return this; +} + +/* ?setg@streambuf@@IAEXPAD00@Z */ +/* ?setg@streambuf@@IEAAXPEAD00@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_setg, 16) +void __thiscall streambuf_setg(streambuf *this, char *ek, char *gp, char *eg) +{ + TRACE("(%p %p %p %p)\n", this, ek, gp, eg); + this->eback = ek; + this->gptr = gp; + this->egptr = eg; +} + +/* ?setp@streambuf@@IAEXPAD0@Z */ +/* ?setp@streambuf@@IEAAXPEAD0@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_setp, 12) +void __thiscall streambuf_setp(streambuf *this, char *pb, char *ep) +{ + TRACE("(%p %p %p)\n", this, pb, ep); + this->pbase = this->pptr = pb; + this->epptr = ep; +} + +/* ?sync@streambuf@@UAEHXZ */ +/* ?sync@streambuf@@UEAAHXZ */ +DEFINE_THISCALL_WRAPPER(streambuf_sync, 4) +int __thiscall streambuf_sync(streambuf *this) +{ + FIXME("(%p): stub\n", this); + return EOF; +} + +/* Unexported */ +DEFINE_THISCALL_WRAPPER(streambuf_underflow, 4) +int __thiscall streambuf_underflow(streambuf *this) +{ + return EOF; +} + +/* ?xsgetn@streambuf@@UAEHPADH@Z */ +/* ?xsgetn@streambuf@@UEAAHPEADH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_xsgetn, 12) +int __thiscall streambuf_xsgetn(streambuf *this, char *buffer, int count) +{ + FIXME("(%p %p %d): stub\n", this, buffer, count); + return 0; +} + +/* ?xsputn@streambuf@@UAEHPBDH@Z */ +/* ?xsputn@streambuf@@UEAAHPEBDH@Z */ +DEFINE_THISCALL_WRAPPER(streambuf_xsputn, 12) +int __thiscall streambuf_xsputn(streambuf *this, const char *data, int length) +{ + FIXME("(%p %p %d): stub\n", this, data, length); + return 0; +} + /****************************************************************** * ??1ios@@UAE@XZ (MSVCRTI.@) * class ios & __thiscall ios::-ios<<(void) @@ -152,6 +420,13 @@ static void init_cxx_funcs(void) } } +static void init_io(void *base) +{ +#ifdef __x86_64__ + init_streambuf_rtti(base); +#endif +} + BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved ) { switch (reason) @@ -161,6 +436,7 @@ BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved ) case DLL_PROCESS_ATTACH: init_cxx_funcs(); init_exception(inst); + init_io(inst); DisableThreadLibraryCalls( inst ); break; } diff --git a/dlls/msvcirt/msvcirt.h b/dlls/msvcirt/msvcirt.h index 43015288cdd..bdcd7d89600 100644 --- a/dlls/msvcirt/msvcirt.h +++ b/dlls/msvcirt/msvcirt.h @@ -20,6 +20,9 @@ #include "windef.h" #include "cxx.h" +typedef LONG streamoff; +typedef LONG streampos; + extern void (__cdecl *MSVCRT_operator_delete)(void*); void init_exception(void*); diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec index 3399b5d63eb..dfb273433cd 100644 --- a/dlls/msvcirt/msvcirt.spec +++ b/dlls/msvcirt/msvcirt.spec @@ -106,12 +106,12 @@ @ stub -arch=win64 ??0stdiostream@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0stdiostream@@QAE@PAU_iobuf@@@Z # __thiscall stdiostream::stdiostream(struct _iobuf *) @ stub -arch=win64 ??0stdiostream@@QEAA@PEAU_iobuf@@@Z -@ stub -arch=win32 ??0streambuf@@IAE@PADH@Z # __thiscall streambuf::streambuf(char *,int) -@ stub -arch=win64 ??0streambuf@@IEAA@PEADH@Z -@ stub -arch=win32 ??0streambuf@@IAE@XZ # __thiscall streambuf::streambuf(void) -@ stub -arch=win64 ??0streambuf@@IEAA@XZ -@ stub -arch=win32 ??0streambuf@@QAE@ABV0@@Z # __thiscall streambuf::streambuf(class streambuf const &) -@ stub -arch=win64 ??0streambuf@@QEAA@AEBV0@@Z +@ thiscall -arch=win32 ??0streambuf@@IAE@PADH@Z(ptr ptr long) streambuf_reserve_ctor +@ cdecl -arch=win64 ??0streambuf@@IEAA@PEADH@Z(ptr ptr long) streambuf_reserve_ctor +@ thiscall -arch=win32 ??0streambuf@@IAE@XZ(ptr) streambuf_ctor +@ cdecl -arch=win64 ??0streambuf@@IEAA@XZ(ptr) streambuf_ctor +@ thiscall -arch=win32 ??0streambuf@@QAE@ABV0@@Z(ptr ptr) streambuf_copy_ctor +@ cdecl -arch=win64 ??0streambuf@@QEAA@AEBV0@@Z(ptr ptr) streambuf_copy_ctor @ stub -arch=win32 ??0strstream@@QAE@ABV0@@Z # __thiscall strstream::strstream(class strstream const &) @ stub -arch=win64 ??0strstream@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0strstream@@QAE@PADHH@Z # __thiscall strstream::strstream(char *,int,int) @@ -164,8 +164,8 @@ @ stub -arch=win64 ??1stdiobuf@@UEAA@XZ @ stub -arch=win32 ??1stdiostream@@UAE@XZ # virtual __thiscall stdiostream::~stdiostream(void) @ stub -arch=win64 ??1stdiostream@@UEAA@XZ -@ stub -arch=win32 ??1streambuf@@UAE@XZ # virtual __thiscall streambuf::~streambuf(void) -@ stub -arch=win64 ??1streambuf@@UEAA@XZ +@ thiscall -arch=win32 ??1streambuf@@UAE@XZ(ptr) streambuf_dtor +@ cdecl -arch=win64 ??1streambuf@@UEAA@XZ(ptr) streambuf_dtor @ stub -arch=win32 ??1strstream@@UAE@XZ # virtual __thiscall strstream::~strstream(void) @ stub -arch=win64 ??1strstream@@UEAA@XZ @ stub -arch=win32 ??1strstreambuf@@UAE@XZ # virtual __thiscall strstreambuf::~strstreambuf(void) @@ -218,8 +218,8 @@ @ stub -arch=win64 ??4stdiobuf@@QEAAAEAV0@AEBV0@@Z @ stub -arch=win32 ??4stdiostream@@QAEAAV0@AAV0@@Z # class stdiostream & __thiscall stdiostream::operator=(class stdiostream &) @ stub -arch=win64 ??4stdiostream@@QEAAAEAV0@AEAV0@@Z -@ stub -arch=win32 ??4streambuf@@QAEAAV0@ABV0@@Z # class streambuf & __thiscall streambuf::operator=(class streambuf const &) -@ stub -arch=win64 ??4streambuf@@QEAAAEAV0@AEBV0@@Z +@ thiscall -arch=win32 ??4streambuf@@QAEAAV0@ABV0@@Z(ptr ptr) streambuf_assign +@ cdecl -arch=win64 ??4streambuf@@QEAAAEAV0@AEBV0@@Z(ptr ptr) streambuf_assign @ stub -arch=win32 ??4strstream@@QAEAAV0@AAV0@@Z # class strstream & __thiscall strstream::operator=(class strstream &) @ stub -arch=win64 ??4strstream@@QEAAAEAV0@AEAV0@@Z @ stub -arch=win32 ??4strstreambuf@@QAEAAV0@ABV0@@Z # class strstreambuf & __thiscall strstreambuf::operator=(class strstreambuf const &) @@ -318,7 +318,7 @@ # @ extern ??_7ostrstream@@6B@ # const ostrstream::`vftable' # @ extern ??_7stdiobuf@@6B@ # const stdiobuf::`vftable' # @ extern ??_7stdiostream@@6B@ # const stdiostream::`vftable' -# @ extern ??_7streambuf@@6B@ # const streambuf::`vftable' +@ extern ??_7streambuf@@6B@ MSVCP_streambuf_vtable # @ extern ??_7strstream@@6B@ # const strstream::`vftable' # @ extern ??_7strstreambuf@@6B@ # const strstreambuf::`vftable' # @ extern ??_8fstream@@7Bistream@@@ # const fstream::`vbtable'{for `istream'} @@ -377,7 +377,7 @@ @ stub -arch=win32 ??_Eostrstream@@UAEPAXI@Z # virtual void * __thiscall ostrstream::`vector deleting destructor'(unsigned int) @ stub -arch=win32 ??_Estdiobuf@@UAEPAXI@Z # virtual void * __thiscall stdiobuf::`vector deleting destructor'(unsigned int) @ stub -arch=win32 ??_Estdiostream@@UAEPAXI@Z # virtual void * __thiscall stdiostream::`vector deleting destructor'(unsigned int) -@ stub -arch=win32 ??_Estreambuf@@UAEPAXI@Z # virtual void * __thiscall streambuf::`vector deleting destructor'(unsigned int) +@ thiscall -arch=win32 ??_Estreambuf@@UAEPAXI@Z(ptr long) streambuf_vector_dtor @ stub -arch=win32 ??_Estrstream@@UAEPAXI@Z # virtual void * __thiscall strstream::`vector deleting destructor'(unsigned int) @ stub -arch=win32 ??_Estrstreambuf@@UAEPAXI@Z # virtual void * __thiscall strstreambuf::`vector deleting destructor'(unsigned int) @ thiscall -arch=win32 ??_Gexception@@UAEPAXI@Z(ptr long) MSVCP_exception_scalar_dtor @@ -396,7 +396,7 @@ @ stub -arch=win32 ??_Gostrstream@@UAEPAXI@Z # virtual void * __thiscall ostrstream::`scalar deleting destructor'(unsigned int) @ stub -arch=win32 ??_Gstdiobuf@@UAEPAXI@Z # virtual void * __thiscall stdiobuf::`scalar deleting destructor'(unsigned int) @ stub -arch=win32 ??_Gstdiostream@@UAEPAXI@Z # virtual void * __thiscall stdiostream::`scalar deleting destructor'(unsigned int) -@ stub -arch=win32 ??_Gstreambuf@@UAEPAXI@Z # virtual void * __thiscall streambuf::`scalar deleting destructor'(unsigned int) +@ thiscall -arch=win32 ??_Gstreambuf@@UAEPAXI@Z(ptr long) streambuf_scalar_dtor @ stub -arch=win32 ??_Gstrstream@@UAEPAXI@Z # virtual void * __thiscall strstream::`scalar deleting destructor'(unsigned int) @ stub -arch=win32 ??_Gstrstreambuf@@UAEPAXI@Z # virtual void * __thiscall strstreambuf::`scalar deleting destructor'(unsigned int) # @ extern ?adjustfield@ios@@2JB # static long const ios::adjustfield @@ -445,8 +445,8 @@ @ stub -arch=win64 ?delbuf@ios@@QEAAXH@Z @ stub -arch=win32 ?delbuf@ios@@QBEHXZ # int __thiscall ios::delbuf(void)const @ stub -arch=win64 ?delbuf@ios@@QEBAHXZ -@ stub -arch=win32 ?doallocate@streambuf@@MAEHXZ # virtual int __thiscall streambuf::doallocate(void) -@ stub -arch=win64 ?doallocate@streambuf@@MEAAHXZ +@ thiscall -arch=win32 ?doallocate@streambuf@@MAEHXZ(ptr) streambuf_doallocate +@ cdecl -arch=win64 ?doallocate@streambuf@@MEAAHXZ(ptr) streambuf_doallocate @ stub -arch=win32 ?doallocate@strstreambuf@@MAEHXZ # virtual int __thiscall strstreambuf::doallocate(void) @ stub -arch=win64 ?doallocate@strstreambuf@@MEAAHXZ @ stub -arch=win32 ?eatwhite@istream@@QAEXXZ # void __thiscall istream::eatwhite(void) @@ -585,8 +585,8 @@ @ stub -arch=win64 ?overflow@strstreambuf@@UEAAHH@Z @ stub -arch=win32 ?pbackfail@stdiobuf@@UAEHH@Z # virtual int __thiscall stdiobuf::pbackfail(int) @ stub -arch=win64 ?pbackfail@stdiobuf@@UEAAHH@Z -@ stub -arch=win32 ?pbackfail@streambuf@@UAEHH@Z # virtual int __thiscall streambuf::pbackfail(int) -@ stub -arch=win64 ?pbackfail@streambuf@@UEAAHH@Z +@ thiscall -arch=win32 ?pbackfail@streambuf@@UAEHH@Z(ptr long) streambuf_pbackfail +@ cdecl -arch=win64 ?pbackfail@streambuf@@UEAAHH@Z(ptr long) streambuf_pbackfail @ stub -arch=win32 ?pbase@streambuf@@IBEPADXZ # char * __thiscall streambuf::pbase(void)const @ stub -arch=win64 ?pbase@streambuf@@IEBAPEADXZ @ stub -arch=win32 ?pbump@streambuf@@IAEXH@Z # void __thiscall streambuf::pbump(int) @@ -647,18 +647,18 @@ @ stub -arch=win64 ?seekoff@filebuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z # virtual long __thiscall stdiobuf::seekoff(long,enum ios::seek_dir,int) @ stub -arch=win64 ?seekoff@stdiobuf@@UEAAJJW4seek_dir@ios@@H@Z -@ stub -arch=win32 ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z # virtual long __thiscall streambuf::seekoff(long,enum ios::seek_dir,int) -@ stub -arch=win64 ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z +@ thiscall -arch=win32 ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z(ptr long long long) streambuf_seekoff +@ cdecl -arch=win64 ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z(ptr long long long) streambuf_seekoff @ stub -arch=win32 ?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z # virtual long __thiscall strstreambuf::seekoff(long,enum ios::seek_dir,int) @ stub -arch=win64 ?seekoff@strstreambuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekp@ostream@@QAEAAV1@J@Z # class ostream & __thiscall ostream::seekp(long) @ stub -arch=win64 ?seekp@ostream@@QEAAAEAV1@J@Z @ stub -arch=win32 ?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z # class ostream & __thiscall ostream::seekp(long,enum ios::seek_dir) @ stub -arch=win64 ?seekp@ostream@@QEAAAEAV1@JW4seek_dir@ios@@@Z -@ stub -arch=win32 ?seekpos@streambuf@@UAEJJH@Z # virtual long __thiscall streambuf::seekpos(long,int) -@ stub -arch=win64 ?seekpos@streambuf@@UEAAJJH@Z -@ stub -arch=win32 ?setb@streambuf@@IAEXPAD0H@Z # void __thiscall streambuf::setb(char *,char *,int) -@ stub -arch=win64 ?setb@streambuf@@IEAAXPEAD0H@Z +@ thiscall -arch=win32 ?seekpos@streambuf@@UAEJJH@Z(ptr long long) streambuf_seekpos +@ cdecl -arch=win64 ?seekpos@streambuf@@UEAAJJH@Z(ptr long long) streambuf_seekpos +@ thiscall -arch=win32 ?setb@streambuf@@IAEXPAD0H@Z(ptr ptr ptr long) streambuf_setb +@ cdecl -arch=win64 ?setb@streambuf@@IEAAXPEAD0H@Z(ptr ptr ptr long) streambuf_setb @ stub -arch=win32 ?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z # virtual class streambuf * __thiscall filebuf::setbuf(char *,int) @ stub -arch=win64 ?setbuf@filebuf@@UEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z # class streambuf * __thiscall fstream::setbuf(char *,int) @@ -667,16 +667,16 @@ @ stub -arch=win64 ?setbuf@ifstream@@QEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z # class streambuf * __thiscall ofstream::setbuf(char *,int) @ stub -arch=win64 ?setbuf@ofstream@@QEAAPEAVstreambuf@@PEADH@Z -@ stub -arch=win32 ?setbuf@streambuf@@UAEPAV1@PADH@Z # virtual class streambuf * __thiscall streambuf::setbuf(char *,int) -@ stub -arch=win64 ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z +@ thiscall -arch=win32 ?setbuf@streambuf@@UAEPAV1@PADH@Z(ptr ptr long) streambuf_setbuf +@ cdecl -arch=win64 ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z(ptr ptr long) streambuf_setbuf @ stub -arch=win32 ?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z # virtual class streambuf * __thiscall strstreambuf::setbuf(char *,int) @ stub -arch=win64 ?setbuf@strstreambuf@@UEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setf@ios@@QAEJJ@Z # long __thiscall ios::setf(long) @ stub -arch=win64 ?setf@ios@@QEAAJJ@Z @ stub -arch=win32 ?setf@ios@@QAEJJJ@Z # long __thiscall ios::setf(long,long) @ stub -arch=win64 ?setf@ios@@QEAAJJJ@Z -@ stub -arch=win32 ?setg@streambuf@@IAEXPAD00@Z # void __thiscall streambuf::setg(char *,char *,char *) -@ stub -arch=win64 ?setg@streambuf@@IEAAXPEAD00@Z +@ thiscall -arch=win32 ?setg@streambuf@@IAEXPAD00@Z(ptr ptr ptr ptr) streambuf_setg +@ cdecl -arch=win64 ?setg@streambuf@@IEAAXPEAD00@Z(ptr ptr ptr ptr) streambuf_setg @ stub -arch=win32 ?setlock@ios@@QAAXXZ # void __cdecl ios::setlock(void) @ stub -arch=win64 ?setlock@ios@@QEAAXXZ @ stub -arch=win32 ?setlock@streambuf@@QAEXXZ # void __thiscall streambuf::setlock(void) @@ -689,8 +689,8 @@ @ stub -arch=win64 ?setmode@ifstream@@QEAAHH@Z @ stub -arch=win32 ?setmode@ofstream@@QAEHH@Z # int __thiscall ofstream::setmode(int) @ stub -arch=win64 ?setmode@ofstream@@QEAAHH@Z -@ stub -arch=win32 ?setp@streambuf@@IAEXPAD0@Z # void __thiscall streambuf::setp(char *,char *) -@ stub -arch=win64 ?setp@streambuf@@IEAAXPEAD0@Z +@ thiscall -arch=win32 ?setp@streambuf@@IAEXPAD0@Z(ptr ptr ptr) streambuf_setp +@ cdecl -arch=win64 ?setp@streambuf@@IEAAXPEAD0@Z(ptr ptr ptr) streambuf_setp @ stub -arch=win32 ?setrwbuf@stdiobuf@@QAEHHH@Z # int __thiscall stdiobuf::setrwbuf(int,int) @ stub -arch=win64 ?setrwbuf@stdiobuf@@QEAAHHH@Z @ stub -arch=win32 ?sgetc@streambuf@@QAEHXZ # int __thiscall streambuf::sgetc(void) @@ -727,8 +727,8 @@ @ stub -arch=win64 ?sync@istream@@QEAAHXZ @ stub -arch=win32 ?sync@stdiobuf@@UAEHXZ # virtual int __thiscall stdiobuf::sync(void) @ stub -arch=win64 ?sync@stdiobuf@@UEAAHXZ -@ stub -arch=win32 ?sync@streambuf@@UAEHXZ # virtual int __thiscall streambuf::sync(void) -@ stub -arch=win64 ?sync@streambuf@@UEAAHXZ +@ thiscall -arch=win32 ?sync@streambuf@@UAEHXZ(ptr) streambuf_sync +@ cdecl -arch=win64 ?sync@streambuf@@UEAAHXZ(ptr) streambuf_sync @ stub -arch=win32 ?sync@strstreambuf@@UAEHXZ # virtual int __thiscall strstreambuf::sync(void) @ stub -arch=win64 ?sync@strstreambuf@@UEAAHXZ @ stub ?sync_with_stdio@ios@@SAXXZ # static void __cdecl ios::sync_with_stdio(void) @@ -781,10 +781,10 @@ # @ extern ?x_maxbit@ios@@0JA # static long ios::x_maxbit # @ extern ?x_statebuf@ios@@0PAJA # static long * ios::x_statebuf @ stub ?xalloc@ios@@SAHXZ # static int __cdecl ios::xalloc(void) -@ stub -arch=win32 ?xsgetn@streambuf@@UAEHPADH@Z # virtual int __thiscall streambuf::xsgetn(char *,int) -@ stub -arch=win64 ?xsgetn@streambuf@@UEAAHPEADH@Z -@ stub -arch=win32 ?xsputn@streambuf@@UAEHPBDH@Z # virtual int __thiscall streambuf::xsputn(char const *,int) -@ stub -arch=win64 ?xsputn@streambuf@@UEAAHPEBDH@Z +@ thiscall -arch=win32 ?xsgetn@streambuf@@UAEHPADH@Z(ptr ptr long) streambuf_xsgetn +@ cdecl -arch=win64 ?xsgetn@streambuf@@UEAAHPEADH@Z(ptr ptr long) streambuf_xsgetn +@ thiscall -arch=win32 ?xsputn@streambuf@@UAEHPBDH@Z(ptr ptr long) streambuf_xsputn +@ cdecl -arch=win64 ?xsputn@streambuf@@UEAAHPEBDH@Z(ptr ptr long) streambuf_xsputn @ stub __dummy_export @ stub _mtlock @ stub _mtunlock diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec index b166adaf3d0..3cefd74fe04 100644 --- a/dlls/msvcrt20/msvcrt20.spec +++ b/dlls/msvcrt20/msvcrt20.spec @@ -96,12 +96,12 @@ @ stub -arch=win64 ??0stdiostream@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0stdiostream@@QAE@PAU_iobuf@@@Z @ stub -arch=win64 ??0stdiostream@@QEAA@PEAU_iobuf@@@Z -@ stub -arch=win32 ??0streambuf@@IAE@PADH@Z -@ stub -arch=win64 ??0streambuf@@IEAA@PEADH@Z -@ stub -arch=win32 ??0streambuf@@IAE@XZ -@ stub -arch=win64 ??0streambuf@@IEAA@XZ -@ stub -arch=win32 ??0streambuf@@QAE@ABV0@@Z -@ stub -arch=win64 ??0streambuf@@QEAA@AEBV0@@Z +@ thiscall -arch=win32 ??0streambuf@@IAE@PADH@Z(ptr ptr long) msvcirt.??0streambuf@@IAE@PADH@Z +@ cdecl -arch=win64 ??0streambuf@@IEAA@PEADH@Z(ptr ptr long) msvcirt.??0streambuf@@IEAA@PEADH@Z +@ thiscall -arch=win32 ??0streambuf@@IAE@XZ(ptr) msvcirt.??0streambuf@@IAE@XZ +@ cdecl -arch=win64 ??0streambuf@@IEAA@XZ(ptr) msvcirt.??0streambuf@@IEAA@XZ +@ thiscall -arch=win32 ??0streambuf@@QAE@ABV0@@Z(ptr ptr) msvcirt.??0streambuf@@QAE@ABV0@@Z +@ cdecl -arch=win64 ??0streambuf@@QEAA@AEBV0@@Z(ptr ptr) msvcirt.??0streambuf@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0strstream@@QAE@ABV0@@Z @ stub -arch=win64 ??0strstream@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0strstream@@QAE@PADHH@Z @@ -148,8 +148,8 @@ @ stub -arch=win64 ??1stdiobuf@@UEAA@XZ @ stub -arch=win32 ??1stdiostream@@UAE@XZ @ stub -arch=win64 ??1stdiostream@@UEAA@XZ -@ stub -arch=win32 ??1streambuf@@UAE@XZ -@ stub -arch=win64 ??1streambuf@@UEAA@XZ +@ thiscall -arch=win32 ??1streambuf@@UAE@XZ(ptr) msvcirt.??1streambuf@@UAE@XZ +@ cdecl -arch=win64 ??1streambuf@@UEAA@XZ(ptr) msvcirt.??1streambuf@@UEAA@XZ @ stub -arch=win32 ??1strstream@@UAE@XZ @ stub -arch=win64 ??1strstream@@UEAA@XZ @ stub -arch=win32 ??1strstreambuf@@UAE@XZ @@ -202,8 +202,8 @@ @ stub -arch=win64 ??4stdiobuf@@QEAAAEAV0@AEBV0@@Z @ stub -arch=win32 ??4stdiostream@@QAEAAV0@AAV0@@Z @ stub -arch=win64 ??4stdiostream@@QEAAAEAV0@AEAV0@@Z -@ stub -arch=win32 ??4streambuf@@QAEAAV0@ABV0@@Z -@ stub -arch=win64 ??4streambuf@@QEAAAEAV0@AEBV0@@Z +@ thiscall -arch=win32 ??4streambuf@@QAEAAV0@ABV0@@Z(ptr ptr) msvcirt.??4streambuf@@QAEAAV0@ABV0@@Z +@ cdecl -arch=win64 ??4streambuf@@QEAAAEAV0@AEBV0@@Z(ptr ptr) msvcirt.??4streambuf@@QEAAAEAV0@AEBV0@@Z @ stub -arch=win32 ??4strstream@@QAEAAV0@AAV0@@Z @ stub -arch=win64 ??4strstream@@QEAAAEAV0@AEAV0@@Z @ stub -arch=win32 ??4strstreambuf@@QAEAAV0@ABV0@@Z @@ -300,7 +300,7 @@ # @ extern ??_7ostrstream@@6B@ # @ extern ??_7stdiobuf@@6B@ # @ extern ??_7stdiostream@@6B@ -# @ extern ??_7streambuf@@6B@ +@ extern ??_7streambuf@@6B@ msvcirt.??_7streambuf@@6B@ # @ extern ??_7strstream@@6B@ # @ extern ??_7strstreambuf@@6B@ # @ extern ??_8fstream@@7Bistream@@@ @@ -358,7 +358,7 @@ @ stub -arch=win32 ??_Eostrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Estdiobuf@@UAEPAXI@Z @ stub -arch=win32 ??_Estdiostream@@UAEPAXI@Z -@ stub -arch=win32 ??_Estreambuf@@UAEPAXI@Z +@ thiscall -arch=win32 ??_Estreambuf@@UAEPAXI@Z(ptr long) msvcirt.??_Estreambuf@@UAEPAXI@Z @ stub -arch=win32 ??_Estrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Estrstreambuf@@UAEPAXI@Z @ stub -arch=win32 ??_GIostream_init@@QAEPAXI@Z @@ -376,7 +376,7 @@ @ stub -arch=win32 ??_Gostrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Gstdiobuf@@UAEPAXI@Z @ stub -arch=win32 ??_Gstdiostream@@UAEPAXI@Z -@ stub -arch=win32 ??_Gstreambuf@@UAEPAXI@Z +@ thiscall -arch=win32 ??_Gstreambuf@@UAEPAXI@Z(ptr long) msvcirt.??_Gstreambuf@@UAEPAXI@Z @ stub -arch=win32 ??_Gstrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Gstrstreambuf@@UAEPAXI@Z @ cdecl -arch=win32 ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ @@ -433,8 +433,8 @@ @ stub -arch=win64 ?delbuf@ios@@QEAAXH@Z @ stub -arch=win32 ?delbuf@ios@@QBEHXZ @ stub -arch=win64 ?delbuf@ios@@QEBAHXZ -@ stub -arch=win32 ?doallocate@streambuf@@MAEHXZ -@ stub -arch=win64 ?doallocate@streambuf@@MEAAHXZ +@ thiscall -arch=win32 ?doallocate@streambuf@@MAEHXZ(ptr) msvcirt.?doallocate@streambuf@@MAEHXZ +@ cdecl -arch=win64 ?doallocate@streambuf@@MEAAHXZ(ptr) msvcirt.?doallocate@streambuf@@MEAAHXZ @ stub -arch=win32 ?doallocate@strstreambuf@@MAEHXZ @ stub -arch=win64 ?doallocate@strstreambuf@@MEAAHXZ @ stub -arch=win32 ?eatwhite@istream@@QAEXXZ @@ -571,8 +571,8 @@ @ stub -arch=win64 ?overflow@strstreambuf@@UEAAHH@Z @ stub -arch=win32 ?pbackfail@stdiobuf@@UAEHH@Z @ stub -arch=win64 ?pbackfail@stdiobuf@@UEAAHH@Z -@ stub -arch=win32 ?pbackfail@streambuf@@UAEHH@Z -@ stub -arch=win64 ?pbackfail@streambuf@@UEAAHH@Z +@ thiscall -arch=win32 ?pbackfail@streambuf@@UAEHH@Z(ptr long) msvcirt.?pbackfail@streambuf@@UAEHH@Z +@ cdecl -arch=win64 ?pbackfail@streambuf@@UEAAHH@Z(ptr long) msvcirt.?pbackfail@streambuf@@UEAAHH@Z @ stub -arch=win32 ?pbase@streambuf@@IBEPADXZ @ stub -arch=win64 ?pbase@streambuf@@IEBAPEADXZ @ stub -arch=win32 ?pbump@streambuf@@IAEXH@Z @@ -633,20 +633,20 @@ @ stub -arch=win64 ?seekoff@filebuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z @ stub -arch=win64 ?seekoff@stdiobuf@@UEAAJJW4seek_dir@ios@@H@Z -@ stub -arch=win32 ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z -@ stub -arch=win64 ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z +@ thiscall -arch=win32 ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z(ptr long long long) msvcirt.?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z +@ cdecl -arch=win64 ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z(ptr long long long) msvcirt.?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z @ stub -arch=win64 ?seekoff@strstreambuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekp@ostream@@QAEAAV1@J@Z @ stub -arch=win64 ?seekp@ostream@@QEAAAEAV1@J@Z @ stub -arch=win32 ?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z @ stub -arch=win64 ?seekp@ostream@@QEAAAEAV1@JW4seek_dir@ios@@@Z -@ stub -arch=win32 ?seekpos@streambuf@@UAEJJH@Z -@ stub -arch=win64 ?seekpos@streambuf@@UEAAJJH@Z +@ thiscall -arch=win32 ?seekpos@streambuf@@UAEJJH@Z(ptr long long) msvcirt.?seekpos@streambuf@@UAEJJH@Z +@ cdecl -arch=win64 ?seekpos@streambuf@@UEAAJJH@Z(ptr long long) msvcirt.?seekpos@streambuf@@UEAAJJH@Z @ cdecl ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_terminate@@YAP6AXXZP6AXXZ@Z @ cdecl ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_unexpected@@YAP6AXXZP6AXXZ@Z -@ stub -arch=win32 ?setb@streambuf@@IAEXPAD0H@Z -@ stub -arch=win64 ?setb@streambuf@@IEAAXPEAD0H@Z +@ thiscall -arch=win32 ?setb@streambuf@@IAEXPAD0H@Z(ptr ptr ptr long) msvcirt.?setb@streambuf@@IAEXPAD0H@Z +@ cdecl -arch=win64 ?setb@streambuf@@IEAAXPEAD0H@Z(ptr ptr ptr long) msvcirt.?setb@streambuf@@IEAAXPEAD0H@Z @ stub -arch=win32 ?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z @ stub -arch=win64 ?setbuf@filebuf@@UEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z @@ -655,16 +655,16 @@ @ stub -arch=win64 ?setbuf@ifstream@@QEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z @ stub -arch=win64 ?setbuf@ofstream@@QEAAPEAVstreambuf@@PEADH@Z -@ stub -arch=win32 ?setbuf@streambuf@@UAEPAV1@PADH@Z -@ stub -arch=win64 ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z +@ thiscall -arch=win32 ?setbuf@streambuf@@UAEPAV1@PADH@Z(ptr ptr long) msvcirt.?setbuf@streambuf@@UAEPAV1@PADH@Z +@ cdecl -arch=win64 ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z(ptr ptr long) msvcirt.?setbuf@streambuf@@UEAAPEAV1@PEADH@Z @ stub -arch=win32 ?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z @ stub -arch=win64 ?setbuf@strstreambuf@@UEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setf@ios@@QAEJJ@Z @ stub -arch=win64 ?setf@ios@@QEAAJJ@Z @ stub -arch=win32 ?setf@ios@@QAEJJJ@Z @ stub -arch=win64 ?setf@ios@@QEAAJJJ@Z -@ stub -arch=win32 ?setg@streambuf@@IAEXPAD00@Z -@ stub -arch=win64 ?setg@streambuf@@IEAAXPEAD00@Z +@ thiscall -arch=win32 ?setg@streambuf@@IAEXPAD00@Z(ptr ptr ptr ptr) msvcirt.?setg@streambuf@@IAEXPAD00@Z +@ cdecl -arch=win64 ?setg@streambuf@@IEAAXPEAD00@Z(ptr ptr ptr ptr) msvcirt.?setg@streambuf@@IEAAXPEAD00@Z @ stub -arch=win32 ?setlock@ios@@QAAXXZ @ stub -arch=win64 ?setlock@ios@@QEAAXXZ @ stub -arch=win32 ?setlock@streambuf@@QAEXXZ @@ -677,8 +677,8 @@ @ stub -arch=win64 ?setmode@ifstream@@QEAAHH@Z @ stub -arch=win32 ?setmode@ofstream@@QAEHH@Z @ stub -arch=win64 ?setmode@ofstream@@QEAAHH@Z -@ stub -arch=win32 ?setp@streambuf@@IAEXPAD0@Z -@ stub -arch=win64 ?setp@streambuf@@IEAAXPEAD0@Z +@ thiscall -arch=win32 ?setp@streambuf@@IAEXPAD0@Z(ptr ptr ptr) msvcirt.?setp@streambuf@@IAEXPAD0@Z +@ cdecl -arch=win64 ?setp@streambuf@@IEAAXPEAD0@Z(ptr ptr ptr) msvcirt.?setp@streambuf@@IEAAXPEAD0@Z @ stub -arch=win32 ?setrwbuf@stdiobuf@@QAEHHH@Z @ stub -arch=win64 ?setrwbuf@stdiobuf@@QEAAHHH@Z @ stub -arch=win32 ?sgetc@streambuf@@QAEHXZ @@ -715,8 +715,8 @@ @ stub -arch=win64 ?sync@istream@@QEAAHXZ @ stub -arch=win32 ?sync@stdiobuf@@UAEHXZ @ stub -arch=win64 ?sync@stdiobuf@@UEAAHXZ -@ stub -arch=win32 ?sync@streambuf@@UAEHXZ -@ stub -arch=win64 ?sync@streambuf@@UEAAHXZ +@ thiscall -arch=win32 ?sync@streambuf@@UAEHXZ(ptr) msvcirt.?sync@streambuf@@UAEHXZ +@ cdecl -arch=win64 ?sync@streambuf@@UEAAHXZ(ptr) msvcirt.?sync@streambuf@@UEAAHXZ @ stub -arch=win32 ?sync@strstreambuf@@UAEHXZ @ stub -arch=win64 ?sync@strstreambuf@@UEAAHXZ @ stub ?sync_with_stdio@ios@@SAXXZ @@ -769,10 +769,10 @@ # @ extern ?x_maxbit@ios@@0JA # @ extern ?x_statebuf@ios@@0QAJA @ stub ?xalloc@ios@@SAHXZ -@ stub -arch=win32 ?xsgetn@streambuf@@UAEHPADH@Z -@ stub -arch=win64 ?xsgetn@streambuf@@UEAAHPEADH@Z -@ stub -arch=win32 ?xsputn@streambuf@@UAEHPBDH@Z -@ stub -arch=win64 ?xsputn@streambuf@@UEAAHPEBDH@Z +@ thiscall -arch=win32 ?xsgetn@streambuf@@UAEHPADH@Z(ptr ptr long) msvcirt.?xsgetn@streambuf@@UAEHPADH@Z +@ cdecl -arch=win64 ?xsgetn@streambuf@@UEAAHPEADH@Z(ptr ptr long) msvcirt.?xsgetn@streambuf@@UEAAHPEADH@Z +@ thiscall -arch=win32 ?xsputn@streambuf@@UAEHPBDH@Z(ptr ptr long) msvcirt.?xsputn@streambuf@@UAEHPBDH@Z +@ cdecl -arch=win64 ?xsputn@streambuf@@UEAAHPEBDH@Z(ptr ptr long) msvcirt.?xsputn@streambuf@@UEAAHPEBDH@Z @ cdecl -norelay $I10_OUTPUT(double long long long ptr) msvcrt.$I10_OUTPUT @ cdecl -arch=i386 _CIacos() msvcrt._CIacos @ cdecl -arch=i386 _CIasin() msvcrt._CIasin diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec index 3b6b0d72f34..705521afaa8 100644 --- a/dlls/msvcrt40/msvcrt40.spec +++ b/dlls/msvcrt40/msvcrt40.spec @@ -118,12 +118,12 @@ @ stub -arch=win64 ??0stdiostream@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0stdiostream@@QAE@PAU_iobuf@@@Z @ stub -arch=win64 ??0stdiostream@@QEAA@PEAU_iobuf@@@Z -@ stub -arch=win32 ??0streambuf@@IAE@PADH@Z -@ stub -arch=win64 ??0streambuf@@IEAA@PEADH@Z -@ stub -arch=win32 ??0streambuf@@IAE@XZ -@ stub -arch=win64 ??0streambuf@@IEAA@XZ -@ stub -arch=win32 ??0streambuf@@QAE@ABV0@@Z -@ stub -arch=win64 ??0streambuf@@QEAA@AEBV0@@Z +@ thiscall -arch=win32 ??0streambuf@@IAE@PADH@Z(ptr ptr long) msvcirt.??0streambuf@@IAE@PADH@Z +@ cdecl -arch=win64 ??0streambuf@@IEAA@PEADH@Z(ptr ptr long) msvcirt.??0streambuf@@IEAA@PEADH@Z +@ thiscall -arch=win32 ??0streambuf@@IAE@XZ(ptr) msvcirt.??0streambuf@@IAE@XZ +@ cdecl -arch=win64 ??0streambuf@@IEAA@XZ(ptr) msvcirt.??0streambuf@@IEAA@XZ +@ thiscall -arch=win32 ??0streambuf@@QAE@ABV0@@Z(ptr ptr) msvcirt.??0streambuf@@QAE@ABV0@@Z +@ cdecl -arch=win64 ??0streambuf@@QEAA@AEBV0@@Z(ptr ptr) msvcirt.??0streambuf@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0strstream@@QAE@ABV0@@Z @ stub -arch=win64 ??0strstream@@QEAA@AEBV0@@Z @ stub -arch=win32 ??0strstream@@QAE@PADHH@Z @@ -180,8 +180,8 @@ @ stub -arch=win64 ??1stdiobuf@@UEAA@XZ @ stub -arch=win32 ??1stdiostream@@UAE@XZ @ stub -arch=win64 ??1stdiostream@@UEAA@XZ -@ stub -arch=win32 ??1streambuf@@UAE@XZ -@ stub -arch=win64 ??1streambuf@@UEAA@XZ +@ thiscall -arch=win32 ??1streambuf@@UAE@XZ(ptr) msvcirt.??1streambuf@@UAE@XZ +@ cdecl -arch=win64 ??1streambuf@@UEAA@XZ(ptr) msvcirt.??1streambuf@@UEAA@XZ @ stub -arch=win32 ??1strstream@@UAE@XZ @ stub -arch=win64 ??1strstream@@UEAA@XZ @ stub -arch=win32 ??1strstreambuf@@UAE@XZ @@ -246,8 +246,8 @@ @ stub -arch=win64 ??4stdiobuf@@QEAAAEAV0@AEBV0@@Z @ stub -arch=win32 ??4stdiostream@@QAEAAV0@AAV0@@Z @ stub -arch=win64 ??4stdiostream@@QEAAAEAV0@AEAV0@@Z -@ stub -arch=win32 ??4streambuf@@QAEAAV0@ABV0@@Z -@ stub -arch=win64 ??4streambuf@@QEAAAEAV0@AEBV0@@Z +@ thiscall -arch=win32 ??4streambuf@@QAEAAV0@ABV0@@Z(ptr ptr) msvcirt.??4streambuf@@QAEAAV0@ABV0@@Z +@ cdecl -arch=win64 ??4streambuf@@QEAAAEAV0@AEBV0@@Z(ptr ptr) msvcirt.??4streambuf@@QEAAAEAV0@AEBV0@@Z @ stub -arch=win32 ??4strstream@@QAEAAV0@AAV0@@Z @ stub -arch=win64 ??4strstream@@QEAAAEAV0@AEAV0@@Z @ stub -arch=win32 ??4strstreambuf@@QAEAAV0@ABV0@@Z @@ -353,7 +353,7 @@ # @ extern ??_7ostrstream@@6B@ # @ extern ??_7stdiobuf@@6B@ # @ extern ??_7stdiostream@@6B@ -# @ extern ??_7streambuf@@6B@ +@ extern ??_7streambuf@@6B@ msvcirt.??_7streambuf@@6B@ # @ extern ??_7strstream@@6B@ # @ extern ??_7strstreambuf@@6B@ # @ extern ??_8fstream@@7Bistream@@@ @@ -416,7 +416,7 @@ @ stub -arch=win32 ??_Eostrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Estdiobuf@@UAEPAXI@Z @ stub -arch=win32 ??_Estdiostream@@UAEPAXI@Z -@ stub -arch=win32 ??_Estreambuf@@UAEPAXI@Z +@ thiscall -arch=win32 ??_Estreambuf@@UAEPAXI@Z(ptr long) msvcirt.??_Estreambuf@@UAEPAXI@Z @ stub -arch=win32 ??_Estrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Estrstreambuf@@UAEPAXI@Z @ stub -arch=win32 ??_GIostream_init@@QAEPAXI@Z @@ -439,7 +439,7 @@ @ stub -arch=win32 ??_Gostrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Gstdiobuf@@UAEPAXI@Z @ stub -arch=win32 ??_Gstdiostream@@UAEPAXI@Z -@ stub -arch=win32 ??_Gstreambuf@@UAEPAXI@Z +@ thiscall -arch=win32 ??_Gstreambuf@@UAEPAXI@Z(ptr long) msvcirt.??_Gstreambuf@@UAEPAXI@Z @ stub -arch=win32 ??_Gstrstream@@UAEPAXI@Z @ stub -arch=win32 ??_Gstrstreambuf@@UAEPAXI@Z @ cdecl -arch=win32 ?_query_new_handler@@YAP6AHI@ZXZ() msvcrt.?_query_new_handler@@YAP6AHI@ZXZ @@ -498,8 +498,8 @@ @ stub -arch=win64 ?delbuf@ios@@QEAAXH@Z @ stub -arch=win32 ?delbuf@ios@@QBEHXZ @ stub -arch=win64 ?delbuf@ios@@QEBAHXZ -@ stub -arch=win32 ?doallocate@streambuf@@MAEHXZ -@ stub -arch=win64 ?doallocate@streambuf@@MEAAHXZ +@ thiscall -arch=win32 ?doallocate@streambuf@@MAEHXZ(ptr) msvcirt.?doallocate@streambuf@@MAEHXZ +@ cdecl -arch=win64 ?doallocate@streambuf@@MEAAHXZ(ptr) msvcirt.?doallocate@streambuf@@MEAAHXZ @ stub -arch=win32 ?doallocate@strstreambuf@@MAEHXZ @ stub -arch=win64 ?doallocate@strstreambuf@@MEAAHXZ @ stub -arch=win32 ?eatwhite@istream@@QAEXXZ @@ -640,8 +640,8 @@ @ stub -arch=win64 ?overflow@strstreambuf@@UEAAHH@Z @ stub -arch=win32 ?pbackfail@stdiobuf@@UAEHH@Z @ stub -arch=win64 ?pbackfail@stdiobuf@@UEAAHH@Z -@ stub -arch=win32 ?pbackfail@streambuf@@UAEHH@Z -@ stub -arch=win64 ?pbackfail@streambuf@@UEAAHH@Z +@ thiscall -arch=win32 ?pbackfail@streambuf@@UAEHH@Z(ptr long) msvcirt.?pbackfail@streambuf@@UAEHH@Z +@ cdecl -arch=win64 ?pbackfail@streambuf@@UEAAHH@Z(ptr long) msvcirt.?pbackfail@streambuf@@UEAAHH@Z @ stub -arch=win32 ?pbase@streambuf@@IBEPADXZ @ stub -arch=win64 ?pbase@streambuf@@IEBAPEADXZ @ stub -arch=win32 ?pbump@streambuf@@IAEXH@Z @@ -704,21 +704,21 @@ @ stub -arch=win64 ?seekoff@filebuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekoff@stdiobuf@@UAEJJW4seek_dir@ios@@H@Z @ stub -arch=win64 ?seekoff@stdiobuf@@UEAAJJW4seek_dir@ios@@H@Z -@ stub -arch=win32 ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z -@ stub -arch=win64 ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z +@ thiscall -arch=win32 ?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z(ptr long long long) msvcirt.?seekoff@streambuf@@UAEJJW4seek_dir@ios@@H@Z +@ cdecl -arch=win64 ?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z(ptr long long long) msvcirt.?seekoff@streambuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekoff@strstreambuf@@UAEJJW4seek_dir@ios@@H@Z @ stub -arch=win64 ?seekoff@strstreambuf@@UEAAJJW4seek_dir@ios@@H@Z @ stub -arch=win32 ?seekp@ostream@@QAEAAV1@J@Z @ stub -arch=win64 ?seekp@ostream@@QEAAAEAV1@J@Z @ stub -arch=win32 ?seekp@ostream@@QAEAAV1@JW4seek_dir@ios@@@Z @ stub -arch=win64 ?seekp@ostream@@QEAAAEAV1@JW4seek_dir@ios@@@Z -@ stub -arch=win32 ?seekpos@streambuf@@UAEJJH@Z -@ stub -arch=win64 ?seekpos@streambuf@@UEAAJJH@Z +@ thiscall -arch=win32 ?seekpos@streambuf@@UAEJJH@Z(ptr long long) msvcirt.?seekpos@streambuf@@UAEJJH@Z +@ cdecl -arch=win64 ?seekpos@streambuf@@UEAAJJH@Z(ptr long long) msvcirt.?seekpos@streambuf@@UEAAJJH@Z @ cdecl ?set_new_handler@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_new_handler@@YAP6AXXZP6AXXZ@Z @ cdecl ?set_terminate@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_terminate@@YAP6AXXZP6AXXZ@Z @ cdecl ?set_unexpected@@YAP6AXXZP6AXXZ@Z(ptr) msvcrt.?set_unexpected@@YAP6AXXZP6AXXZ@Z -@ stub -arch=win32 ?setb@streambuf@@IAEXPAD0H@Z -@ stub -arch=win64 ?setb@streambuf@@IEAAXPEAD0H@Z +@ thiscall -arch=win32 ?setb@streambuf@@IAEXPAD0H@Z(ptr ptr ptr long) msvcirt.?setb@streambuf@@IAEXPAD0H@Z +@ cdecl -arch=win64 ?setb@streambuf@@IEAAXPEAD0H@Z(ptr ptr ptr long) msvcirt.?setb@streambuf@@IEAAXPEAD0H@Z @ stub -arch=win32 ?setbuf@filebuf@@UAEPAVstreambuf@@PADH@Z @ stub -arch=win64 ?setbuf@filebuf@@UEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setbuf@fstream@@QAEPAVstreambuf@@PADH@Z @@ -727,16 +727,16 @@ @ stub -arch=win64 ?setbuf@ifstream@@QEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setbuf@ofstream@@QAEPAVstreambuf@@PADH@Z @ stub -arch=win64 ?setbuf@ofstream@@QEAAPEAVstreambuf@@PEADH@Z -@ stub -arch=win32 ?setbuf@streambuf@@UAEPAV1@PADH@Z -@ stub -arch=win64 ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z +@ thiscall -arch=win32 ?setbuf@streambuf@@UAEPAV1@PADH@Z(ptr ptr long) msvcirt.?setbuf@streambuf@@UAEPAV1@PADH@Z +@ cdecl -arch=win64 ?setbuf@streambuf@@UEAAPEAV1@PEADH@Z(ptr ptr long) msvcirt.?setbuf@streambuf@@UEAAPEAV1@PEADH@Z @ stub -arch=win32 ?setbuf@strstreambuf@@UAEPAVstreambuf@@PADH@Z @ stub -arch=win64 ?setbuf@strstreambuf@@UEAAPEAVstreambuf@@PEADH@Z @ stub -arch=win32 ?setf@ios@@QAEJJ@Z @ stub -arch=win64 ?setf@ios@@QEAAJJ@Z @ stub -arch=win32 ?setf@ios@@QAEJJJ@Z @ stub -arch=win64 ?setf@ios@@QEAAJJJ@Z -@ stub -arch=win32 ?setg@streambuf@@IAEXPAD00@Z -@ stub -arch=win64 ?setg@streambuf@@IEAAXPEAD00@Z +@ thiscall -arch=win32 ?setg@streambuf@@IAEXPAD00@Z(ptr ptr ptr ptr) msvcirt.?setg@streambuf@@IAEXPAD00@Z +@ cdecl -arch=win64 ?setg@streambuf@@IEAAXPEAD00@Z(ptr ptr ptr ptr) msvcirt.?setg@streambuf@@IEAAXPEAD00@Z @ stub -arch=win32 ?setlock@ios@@QAAXXZ @ stub -arch=win64 ?setlock@ios@@QEAAXXZ @ stub -arch=win32 ?setlock@streambuf@@QAEXXZ @@ -749,8 +749,8 @@ @ stub -arch=win64 ?setmode@ifstream@@QEAAHH@Z @ stub -arch=win32 ?setmode@ofstream@@QAEHH@Z @ stub -arch=win64 ?setmode@ofstream@@QEAAHH@Z -@ stub -arch=win32 ?setp@streambuf@@IAEXPAD0@Z -@ stub -arch=win64 ?setp@streambuf@@IEAAXPEAD0@Z +@ thiscall -arch=win32 ?setp@streambuf@@IAEXPAD0@Z(ptr ptr ptr) msvcirt.?setp@streambuf@@IAEXPAD0@Z +@ cdecl -arch=win64 ?setp@streambuf@@IEAAXPEAD0@Z(ptr ptr ptr) msvcirt.?setp@streambuf@@IEAAXPEAD0@Z @ stub -arch=win32 ?setrwbuf@stdiobuf@@QAEHHH@Z @ stub -arch=win64 ?setrwbuf@stdiobuf@@QEAAHHH@Z @ stub -arch=win32 ?sgetc@streambuf@@QAEHXZ @@ -787,8 +787,8 @@ @ stub -arch=win64 ?sync@istream@@QEAAHXZ @ stub -arch=win32 ?sync@stdiobuf@@UAEHXZ @ stub -arch=win64 ?sync@stdiobuf@@UEAAHXZ -@ stub -arch=win32 ?sync@streambuf@@UAEHXZ -@ stub -arch=win64 ?sync@streambuf@@UEAAHXZ +@ thiscall -arch=win32 ?sync@streambuf@@UAEHXZ(ptr) msvcirt.?sync@streambuf@@UAEHXZ +@ cdecl -arch=win64 ?sync@streambuf@@UEAAHXZ(ptr) msvcirt.?sync@streambuf@@UEAAHXZ @ stub -arch=win32 ?sync@strstreambuf@@UAEHXZ @ stub -arch=win64 ?sync@strstreambuf@@UEAAHXZ @ stub ?sync_with_stdio@ios@@SAXXZ @@ -843,10 +843,10 @@ # @ extern ?x_maxbit@ios@@0JA # @ extern ?x_statebuf@ios@@0PAJA @ stub ?xalloc@ios@@SAHXZ -@ stub -arch=win32 ?xsgetn@streambuf@@UAEHPADH@Z -@ stub -arch=win64 ?xsgetn@streambuf@@UEAAHPEADH@Z -@ stub -arch=win32 ?xsputn@streambuf@@UAEHPBDH@Z -@ stub -arch=win64 ?xsputn@streambuf@@UEAAHPEBDH@Z +@ thiscall -arch=win32 ?xsgetn@streambuf@@UAEHPADH@Z(ptr ptr long) msvcirt.?xsgetn@streambuf@@UAEHPADH@Z +@ cdecl -arch=win64 ?xsgetn@streambuf@@UEAAHPEADH@Z(ptr ptr long) msvcirt.?xsgetn@streambuf@@UEAAHPEADH@Z +@ thiscall -arch=win32 ?xsputn@streambuf@@UAEHPBDH@Z(ptr ptr long) msvcirt.?xsputn@streambuf@@UAEHPBDH@Z +@ cdecl -arch=win64 ?xsputn@streambuf@@UEAAHPEBDH@Z(ptr ptr long) msvcirt.?xsputn@streambuf@@UEAAHPEBDH@Z @ cdecl -norelay $I10_OUTPUT(double long long long ptr) msvcrt.$I10_OUTPUT @ cdecl -arch=i386 _CIacos() msvcrt._CIacos @ cdecl -arch=i386 _CIasin() msvcrt._CIasin