[1/6] msvcirt: Add stub for class istream
Iván Matellanes
matellanesivan at gmail.com
Fri Jul 15 04:26:51 CDT 2016
Signed-off-by: Iván Matellanes <matellanes.ivan at gmail.com>
---
dlls/msvcirt/msvcirt.c | 357 ++++++++++++++++++++++++++++++++++++++++++++
dlls/msvcirt/msvcirt.spec | 152 +++++++++----------
dlls/msvcrt20/msvcrt20.spec | 148 +++++++++---------
dlls/msvcrt40/msvcrt40.spec | 152 +++++++++----------
4 files changed, 583 insertions(+), 226 deletions(-)
diff --git a/dlls/msvcirt/msvcirt.c b/dlls/msvcirt/msvcirt.c
index 07aea3e..bf0967d 100644
--- a/dlls/msvcirt/msvcirt.c
+++ b/dlls/msvcirt/msvcirt.c
@@ -154,6 +154,13 @@ typedef struct _ostream {
int unknown;
} ostream;
+/* class istream */
+typedef struct {
+ const int *vbtable;
+ int extract_delim;
+ int count;
+} istream;
+
/* ??_7streambuf@@6B@ */
extern const vtable_ptr MSVCP_streambuf_vtable;
/* ??_7filebuf@@6B@ */
@@ -166,6 +173,8 @@ extern const vtable_ptr MSVCP_stdiobuf_vtable;
extern const vtable_ptr MSVCP_ios_vtable;
/* ??_7ostream@@6B@ */
extern const vtable_ptr MSVCP_ostream_vtable;
+/* ??_7istream@@6B@ */
+extern const vtable_ptr MSVCP_istream_vtable;
#ifndef __GNUC__
void __asm_dummy_vtables(void) {
@@ -222,6 +231,8 @@ void __asm_dummy_vtables(void) {
VTABLE_ADD_FUNC(ios_vector_dtor));
__ASM_VTABLE(ostream,
VTABLE_ADD_FUNC(ostream_vector_dtor));
+ __ASM_VTABLE(istream,
+ VTABLE_ADD_FUNC(istream_vector_dtor));
#ifndef __GNUC__
}
#endif
@@ -231,6 +242,8 @@ void __asm_dummy_vtables(void) {
/* ??_8ostream@@7B@ */
const int ostream_vbtable[] = {0, VBTABLE_ENTRY(ostream, FIELD_OFFSET(ostream, vbtable), ios)};
+/* ??_8istream@@7B@ */
+const int istream_vbtable[] = {0, VBTABLE_ENTRY(istream, FIELD_OFFSET(istream, vbtable), ios)};
DEFINE_RTTI_DATA0(streambuf, 0, ".?AVstreambuf@@")
DEFINE_RTTI_DATA1(filebuf, 0, &streambuf_rtti_base_descriptor, ".?AVfilebuf@@")
@@ -238,6 +251,7 @@ DEFINE_RTTI_DATA1(strstreambuf, 0, &streambuf_rtti_base_descriptor, ".?AVstrstre
DEFINE_RTTI_DATA1(stdiobuf, 0, &streambuf_rtti_base_descriptor, ".?AVstdiobuf@@")
DEFINE_RTTI_DATA0(ios, 0, ".?AVios@@")
DEFINE_RTTI_DATA1(ostream, sizeof(ostream), &ios_rtti_base_descriptor, ".?AVostream@@")
+DEFINE_RTTI_DATA1(istream, sizeof(istream), &ios_rtti_base_descriptor, ".?AVistream@@")
/* ??0streambuf@@IAE at PADH@Z */
/* ??0streambuf@@IEAA at PEADH@Z */
@@ -2864,6 +2878,348 @@ ostream* __cdecl ostream_flush_manip(ostream *this)
return ostream_flush(this);
}
+static inline ios* istream_get_ios(const istream *this)
+{
+ return (ios*)((char*)this + this->vbtable[1]);
+}
+
+static inline ios* istream_to_ios(const istream *this)
+{
+ return (ios*)((char*)this + istream_vbtable[1]);
+}
+
+static inline istream* ios_to_istream(const ios *base)
+{
+ return (istream*)((char*)base - istream_vbtable[1]);
+}
+
+/* ??0istream@@QAE at PAVstreambuf@@@Z */
+/* ??0istream@@QEAA at PEAVstreambuf@@@Z */
+DEFINE_THISCALL_WRAPPER(istream_sb_ctor, 12)
+istream* __thiscall istream_sb_ctor(istream *this, streambuf *sb, BOOL virt_init)
+{
+ FIXME("(%p %p %d) stub\n", this, sb, virt_init);
+ return this;
+}
+
+/* ??0istream@@IAE at ABV0@@Z */
+/* ??0istream@@IEAA at AEBV0@@Z */
+DEFINE_THISCALL_WRAPPER(istream_copy_ctor, 12)
+istream* __thiscall istream_copy_ctor(istream *this, const istream *copy, BOOL virt_init)
+{
+ FIXME("(%p %p %d) stub\n", this, copy, virt_init);
+ return this;
+}
+
+/* ??0istream@@IAE at XZ */
+/* ??0istream@@IEAA at XZ */
+DEFINE_THISCALL_WRAPPER(istream_ctor, 8)
+istream* __thiscall istream_ctor(istream *this, BOOL virt_init)
+{
+ FIXME("(%p %d) stub\n", this, virt_init);
+ return this;
+}
+
+/* ??1istream@@UAE at XZ */
+/* ??1istream@@UEAA at XZ */
+DEFINE_THISCALL_WRAPPER(istream_dtor, 4)
+void __thiscall istream_dtor(ios *base)
+{
+ FIXME("(%p) stub\n", base);
+}
+
+/* ??4istream@@IAEAAV0 at PAVstreambuf@@@Z */
+/* ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z */
+DEFINE_THISCALL_WRAPPER(istream_assign_sb, 8)
+istream* __thiscall istream_assign_sb(istream *this, streambuf *sb)
+{
+ FIXME("(%p %p) stub\n", this, sb);
+ return this;
+}
+
+/* ??4istream@@IAEAAV0 at ABV0@@Z */
+/* ??4istream@@IEAAAEAV0 at AEBV0@@Z */
+DEFINE_THISCALL_WRAPPER(istream_assign, 8)
+istream* __thiscall istream_assign(istream *this, const istream *rhs)
+{
+ FIXME("(%p %p) stub\n", this, rhs);
+ return this;
+}
+
+/* ??_Distream@@QAEXXZ */
+/* ??_Distream@@QEAAXXZ */
+DEFINE_THISCALL_WRAPPER(istream_vbase_dtor, 4)
+void __thiscall istream_vbase_dtor(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+}
+
+/* ??_Eistream@@UAEPAXI at Z */
+DEFINE_THISCALL_WRAPPER(istream_vector_dtor, 8)
+istream* __thiscall istream_vector_dtor(ios *base, unsigned int flags)
+{
+ istream *this = ios_to_istream(base);
+
+ 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--)
+ istream_vbase_dtor(this+i);
+ MSVCRT_operator_delete(ptr);
+ } else {
+ istream_vbase_dtor(this);
+ if (flags & 1)
+ MSVCRT_operator_delete(this);
+ }
+ return this;
+}
+
+/* ??_Gistream@@UAEPAXI at Z */
+DEFINE_THISCALL_WRAPPER(istream_scalar_dtor, 8)
+istream* __thiscall istream_scalar_dtor(ios *base, unsigned int flags)
+{
+ istream *this = ios_to_istream(base);
+
+ TRACE("(%p %x)\n", this, flags);
+
+ istream_vbase_dtor(this);
+ if (flags & 1) MSVCRT_operator_delete(this);
+ return this;
+}
+
+/* ?eatwhite at istream@@QAEXXZ */
+/* ?eatwhite at istream@@QEAAXXZ */
+DEFINE_THISCALL_WRAPPER(istream_eatwhite, 4)
+void __thiscall istream_eatwhite(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+}
+
+/* ?gcount at istream@@QBEHXZ */
+/* ?gcount at istream@@QEBAHXZ */
+DEFINE_THISCALL_WRAPPER(istream_gcount, 4)
+int __thiscall istream_gcount(const istream *this)
+{
+ FIXME("(%p) stub\n", this);
+ return 0;
+}
+
+/* ?ipfx at istream@@QAEHH at Z */
+/* ?ipfx at istream@@QEAAHH at Z */
+DEFINE_THISCALL_WRAPPER(istream_ipfx, 8)
+int __thiscall istream_ipfx(istream *this, int need)
+{
+ FIXME("(%p %d) stub\n", this, need);
+ return 0;
+}
+
+/* ?isfx at istream@@QAEXXZ */
+/* ?isfx at istream@@QEAAXXZ */
+DEFINE_THISCALL_WRAPPER(istream_isfx, 4)
+void __thiscall istream_isfx(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+}
+
+/* ?get at istream@@IAEAAV1 at PADHH@Z */
+/* ?get at istream@@IEAAAEAV1 at PEADHH@Z */
+DEFINE_THISCALL_WRAPPER(istream_get_str_delim, 16)
+istream* __thiscall istream_get_str_delim(istream *this, char *str, int count, int delim)
+{
+ FIXME("(%p %p %d %d) stub\n", this, str, count, delim);
+ return this;
+}
+
+/* ?get at istream@@QAEAAV1 at PACHD@Z */
+/* ?get at istream@@QEAAAEAV1 at PEACHD@Z */
+/* ?get at istream@@QAEAAV1 at PADHD@Z */
+/* ?get at istream@@QEAAAEAV1 at PEADHD@Z */
+DEFINE_THISCALL_WRAPPER(istream_get_str, 16)
+istream* __thiscall istream_get_str(istream *this, char *str, int count, char delim)
+{
+ FIXME("(%p %p %d %c) stub\n", this, str, count, delim);
+ return this;
+}
+
+/* ?get at istream@@QAEAAV1 at PAEHD@Z */
+/* ?get at istream@@QEAAAEAV1 at PEAEHD@Z */
+DEFINE_THISCALL_WRAPPER(istream_get_unsigned_str, 16)
+istream* __thiscall istream_get_unsigned_str(istream *this, unsigned char *str, int count, char delim)
+{
+ FIXME("(%p %p %d %c) stub\n", this, str, count, delim);
+ return this;
+}
+
+/* ?get at istream@@QAEAAV1 at AAC@Z */
+/* ?get at istream@@QEAAAEAV1 at AEAC@Z */
+/* ?get at istream@@QAEAAV1 at AAD@Z */
+/* ?get at istream@@QEAAAEAV1 at AEAD@Z */
+DEFINE_THISCALL_WRAPPER(istream_get_char, 8)
+istream* __thiscall istream_get_char(istream *this, char *ch)
+{
+ FIXME("(%p %p) stub\n", this, ch);
+ return this;
+}
+
+/* ?get at istream@@QAEAAV1 at AAE@Z */
+/* ?get at istream@@QEAAAEAV1 at AEAE@Z */
+DEFINE_THISCALL_WRAPPER(istream_get_unsigned_char, 8)
+istream* __thiscall istream_get_unsigned_char(istream *this, unsigned char *ch)
+{
+ FIXME("(%p %p) stub\n", this, ch);
+ return this;
+}
+
+/* ?get at istream@@QAEHXZ */
+/* ?get at istream@@QEAAHXZ */
+DEFINE_THISCALL_WRAPPER(istream_get, 4)
+int __thiscall istream_get(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+ return 0;
+}
+
+/* ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z */
+/* ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z */
+DEFINE_THISCALL_WRAPPER(istream_get_sb, 12)
+istream* __thiscall istream_get_sb(istream *this, streambuf *sb, char delim)
+{
+ FIXME("(%p %p %c) stub\n", this, sb, delim);
+ return this;
+}
+
+/* ?getline at istream@@QAEAAV1 at PACHD@Z */
+/* ?getline at istream@@QEAAAEAV1 at PEACHD@Z */
+/* ?getline at istream@@QAEAAV1 at PADHD@Z */
+/* ?getline at istream@@QEAAAEAV1 at PEADHD@Z */
+DEFINE_THISCALL_WRAPPER(istream_getline, 16)
+istream* __thiscall istream_getline(istream *this, char *str, int count, char delim)
+{
+ FIXME("(%p %p %d %c) stub\n", this, str, count, delim);
+ return this;
+}
+
+/* ?getline at istream@@QAEAAV1 at PAEHD@Z */
+/* ?getline at istream@@QEAAAEAV1 at PEAEHD@Z */
+DEFINE_THISCALL_WRAPPER(istream_getline_unsigned, 16)
+istream* __thiscall istream_getline_unsigned(istream *this, unsigned char *str, int count, char delim)
+{
+ FIXME("(%p %p %d %c) stub\n", this, str, count, delim);
+ return this;
+}
+
+/* ?ignore at istream@@QAEAAV1 at HH@Z */
+/* ?ignore at istream@@QEAAAEAV1 at HH@Z */
+DEFINE_THISCALL_WRAPPER(istream_ignore, 12)
+istream* __thiscall istream_ignore(istream *this, int count, int delim)
+{
+ FIXME("(%p %d %d) stub\n", this, count, delim);
+ return this;
+}
+
+/* ?peek at istream@@QAEHXZ */
+/* ?peek at istream@@QEAAHXZ */
+DEFINE_THISCALL_WRAPPER(istream_peek, 4)
+int __thiscall istream_peek(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+ return 0;
+}
+
+/* ?putback at istream@@QAEAAV1 at D@Z */
+/* ?putback at istream@@QEAAAEAV1 at D@Z */
+DEFINE_THISCALL_WRAPPER(istream_putback, 8)
+istream* __thiscall istream_putback(istream *this, char ch)
+{
+ FIXME("(%p %c) stub\n", this, ch);
+ return this;
+}
+
+/* ?read at istream@@QAEAAV1 at PACH@Z */
+/* ?read at istream@@QEAAAEAV1 at PEACH@Z */
+/* ?read at istream@@QAEAAV1 at PADH@Z */
+/* ?read at istream@@QEAAAEAV1 at PEADH@Z */
+DEFINE_THISCALL_WRAPPER(istream_read, 12)
+istream* __thiscall istream_read(istream *this, char *str, int count)
+{
+ FIXME("(%p %p %d) stub\n", this, str, count);
+ return this;
+}
+
+/* ?read at istream@@QAEAAV1 at PAEH@Z */
+/* ?read at istream@@QEAAAEAV1 at PEAEH@Z */
+DEFINE_THISCALL_WRAPPER(istream_read_unsigned, 12)
+istream* __thiscall istream_read_unsigned(istream *this, unsigned char *str, int count)
+{
+ FIXME("(%p %p %d) stub\n", this, str, count);
+ return this;
+}
+
+/* ?seekg at istream@@QAEAAV1 at J@Z */
+/* ?seekg at istream@@QEAAAEAV1 at J@Z */
+DEFINE_THISCALL_WRAPPER(istream_seekg, 8)
+istream* __thiscall istream_seekg(istream *this, streampos pos)
+{
+ FIXME("(%p %d) stub\n", this, pos);
+ return this;
+}
+
+/* ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z */
+/* ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z */
+DEFINE_THISCALL_WRAPPER(istream_seekg_offset, 12)
+istream* __thiscall istream_seekg_offset(istream *this, streamoff off, ios_seek_dir dir)
+{
+ FIXME("(%p %d %d) stub\n", this, off, dir);
+ return this;
+}
+
+/* ?sync at istream@@QAEHXZ */
+/* ?sync at istream@@QEAAHXZ */
+DEFINE_THISCALL_WRAPPER(istream_sync, 4)
+int __thiscall istream_sync(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+ return 0;
+}
+
+/* ?tellg at istream@@QAEJXZ */
+/* ?tellg at istream@@QEAAJXZ */
+DEFINE_THISCALL_WRAPPER(istream_tellg, 4)
+streampos __thiscall istream_tellg(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+ return 0;
+}
+
+/* ?getint at istream@@AAEHPAD at Z */
+/* ?getint at istream@@AEAAHPEAD at Z */
+DEFINE_THISCALL_WRAPPER(istream_getint, 8)
+int __thiscall istream_getint(istream *this, char *str)
+{
+ FIXME("(%p %p) stub\n", this, str);
+ return 0;
+}
+
+/* ?getdouble at istream@@AAEHPADH at Z */
+/* ?getdouble at istream@@AEAAHPEADH at Z */
+DEFINE_THISCALL_WRAPPER(istream_getdouble, 12)
+int __thiscall istream_getdouble(istream *this, char *str, int n)
+{
+ FIXME("(%p %p %d) stub\n", this, str, n);
+ return 0;
+}
+
+/* ?ws@@YAAAVistream@@AAV1@@Z */
+/* ?ws@@YAAEAVistream@@AEAV1@@Z */
+istream* __cdecl istream_ws(istream *this)
+{
+ FIXME("(%p) stub\n", this);
+ return this;
+}
+
/******************************************************************
* ??0ostrstream@@QAE at XZ (MSVCRTI.@)
*/
@@ -2939,6 +3295,7 @@ static void init_io(void *base)
init_stdiobuf_rtti(base);
init_ios_rtti(base);
init_ostream_rtti(base);
+ init_istream_rtti(base);
#endif
}
diff --git a/dlls/msvcirt/msvcirt.spec b/dlls/msvcirt/msvcirt.spec
index b9140a4..74dde53 100644
--- a/dlls/msvcirt/msvcirt.spec
+++ b/dlls/msvcirt/msvcirt.spec
@@ -48,12 +48,12 @@
@ stub -arch=win64 ??0iostream@@IEAA at XZ
@ stub -arch=win32 ??0iostream@@QAE at PAVstreambuf@@@Z # __thiscall iostream::iostream(class streambuf *)
@ stub -arch=win64 ??0iostream@@QEAA at PEAVstreambuf@@@Z
-@ stub -arch=win32 ??0istream@@IAE at ABV0@@Z # __thiscall istream::istream(class istream const &)
-@ stub -arch=win64 ??0istream@@IEAA at AEBV0@@Z
-@ stub -arch=win32 ??0istream@@IAE at XZ # __thiscall istream::istream(void)
-@ stub -arch=win64 ??0istream@@IEAA at XZ
-@ stub -arch=win32 ??0istream@@QAE at PAVstreambuf@@@Z # __thiscall istream::istream(class streambuf *)
-@ stub -arch=win64 ??0istream@@QEAA at PEAVstreambuf@@@Z
+@ thiscall -arch=win32 ??0istream@@IAE at ABV0@@Z(ptr ptr long) istream_copy_ctor
+@ cdecl -arch=win64 ??0istream@@IEAA at AEBV0@@Z(ptr ptr long) istream_copy_ctor
+@ thiscall -arch=win32 ??0istream@@IAE at XZ(ptr long) istream_ctor
+@ cdecl -arch=win64 ??0istream@@IEAA at XZ(ptr long) istream_ctor
+@ thiscall -arch=win32 ??0istream@@QAE at PAVstreambuf@@@Z(ptr ptr long) istream_sb_ctor
+@ cdecl -arch=win64 ??0istream@@QEAA at PEAVstreambuf@@@Z(ptr ptr long) istream_sb_ctor
@ stub -arch=win32 ??0istream_withassign@@QAE at ABV0@@Z # __thiscall istream_withassign::istream_withassign(class istream_withassign const &)
@ stub -arch=win64 ??0istream_withassign@@QEAA at AEBV0@@Z
@ stub -arch=win32 ??0istream_withassign@@QAE at PAVstreambuf@@@Z # __thiscall istream_withassign::istream_withassign(class streambuf *)
@@ -144,8 +144,8 @@
@ cdecl -arch=win64 ??1ios@@UEAA at XZ(ptr) ios_dtor
@ stub -arch=win32 ??1iostream@@UAE at XZ # virtual __thiscall iostream::~iostream(void)
@ stub -arch=win64 ??1iostream@@UEAA at XZ
-@ stub -arch=win32 ??1istream@@UAE at XZ # virtual __thiscall istream::~istream(void)
-@ stub -arch=win64 ??1istream@@UEAA at XZ
+@ thiscall -arch=win32 ??1istream@@UAE at XZ(ptr) istream_dtor
+@ cdecl -arch=win64 ??1istream@@UEAA at XZ(ptr) istream_dtor
@ stub -arch=win32 ??1istream_withassign@@UAE at XZ # virtual __thiscall istream_withassign::~istream_withassign(void)
@ stub -arch=win64 ??1istream_withassign@@UEAA at XZ
@ stub -arch=win32 ??1istrstream@@UAE at XZ # virtual __thiscall istrstream::~istrstream(void)
@@ -186,10 +186,10 @@
@ stub -arch=win64 ??4iostream@@IEAAAEAV0 at AEAV0@@Z
@ stub -arch=win32 ??4iostream@@IAEAAV0 at PAVstreambuf@@@Z # class iostream & __thiscall iostream::operator=(class streambuf *)
@ stub -arch=win64 ??4iostream@@IEAAAEAV0 at PEAVstreambuf@@@Z
-@ stub -arch=win32 ??4istream@@IAEAAV0 at ABV0@@Z # class istream & __thiscall istream::operator=(class istream const &)
-@ stub -arch=win64 ??4istream@@IEAAAEAV0 at AEBV0@@Z
-@ stub -arch=win32 ??4istream@@IAEAAV0 at PAVstreambuf@@@Z # class istream & __thiscall istream::operator=(class streambuf *)
-@ stub -arch=win64 ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z
+@ thiscall -arch=win32 ??4istream@@IAEAAV0 at ABV0@@Z(ptr ptr) istream_assign
+@ cdecl -arch=win64 ??4istream@@IEAAAEAV0 at AEBV0@@Z(ptr ptr) istream_assign
+@ thiscall -arch=win32 ??4istream@@IAEAAV0 at PAVstreambuf@@@Z(ptr ptr) istream_assign_sb
+@ cdecl -arch=win64 ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z(ptr ptr) istream_assign_sb
@ stub -arch=win32 ??4istream_withassign@@QAEAAV0 at ABV0@@Z # class istream_withassign & __thiscall istream_withassign::operator=(class istream_withassign const &)
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAV0 at AEBV0@@Z
@ stub -arch=win32 ??4istream_withassign@@QAEAAVistream@@ABV1@@Z # class istream & __thiscall istream_withassign::operator=(class istream const &)
@@ -308,7 +308,7 @@
# @ extern ??_7ifstream@@6B@ # const ifstream::`vftable'
@ extern ??_7ios@@6B@ MSVCP_ios_vtable
# @ extern ??_7iostream@@6B@ # const iostream::`vftable'
-# @ extern ??_7istream@@6B@ # const istream::`vftable'
+@ extern ??_7istream@@6B@ MSVCP_istream_vtable
# @ extern ??_7istream_withassign@@6B@ # const istream_withassign::`vftable'
# @ extern ??_7istrstream@@6B@ # const istrstream::`vftable'
@ extern ??_7logic_error@@6B@ MSVCP_logic_error_vtable
@@ -326,7 +326,7 @@
# @ extern ??_8ifstream@@7B@ # const ifstream::`vbtable'
# @ extern ??_8iostream@@7Bistream@@@ # const iostream::`vbtable'{for `istream'}
# @ extern ??_8iostream@@7Bostream@@@ # const iostream::`vbtable'{for `ostream'}
-# @ extern ??_8istream@@7B@ # const istream::`vbtable'
+@ extern ??_8istream@@7B@ istream_vbtable
# @ extern ??_8istream_withassign@@7B@ # const istream_withassign::`vbtable'
# @ extern ??_8istrstream@@7B@ # const istrstream::`vbtable'
# @ extern ??_8ofstream@@7B@ # const ofstream::`vbtable'
@@ -343,8 +343,8 @@
@ stub -arch=win64 ??_Difstream@@QEAAXXZ
@ stub -arch=win32 ??_Diostream@@QAEXXZ # void __thiscall iostream::`vbase destructor'(void)
@ stub -arch=win64 ??_Diostream@@QEAAXXZ
-@ stub -arch=win32 ??_Distream@@QAEXXZ # void __thiscall istream::`vbase destructor'(void)
-@ stub -arch=win64 ??_Distream@@QEAAXXZ
+@ thiscall -arch=win32 ??_Distream@@QAEXXZ(ptr) istream_vbase_dtor
+@ cdecl -arch=win64 ??_Distream@@QEAAXXZ(ptr) istream_vbase_dtor
@ stub -arch=win32 ??_Distream_withassign@@QAEXXZ # void __thiscall istream_withassign::`vbase destructor'(void)
@ stub -arch=win64 ??_Distream_withassign@@QEAAXXZ
@ stub -arch=win32 ??_Distrstream@@QAEXXZ # void __thiscall istrstream::`vbase destructor'(void)
@@ -367,7 +367,7 @@
@ stub -arch=win32 ??_Eifstream@@UAEPAXI at Z # virtual void * __thiscall ifstream::`vector deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Eios@@UAEPAXI at Z(ptr long) ios_vector_dtor
@ stub -arch=win32 ??_Eiostream@@UAEPAXI at Z # virtual void * __thiscall iostream::`vector deleting destructor'(unsigned int)
-@ stub -arch=win32 ??_Eistream@@UAEPAXI at Z # virtual void * __thiscall istream::`vector deleting destructor'(unsigned int)
+@ thiscall -arch=win32 ??_Eistream@@UAEPAXI at Z(ptr long) istream_vector_dtor
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI at Z # virtual void * __thiscall istream_withassign::`vector deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI at Z # virtual void * __thiscall istrstream::`vector deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Elogic_error@@UAEPAXI at Z(ptr long) MSVCP_logic_error_vector_dtor
@@ -386,7 +386,7 @@
@ stub -arch=win32 ??_Gifstream@@UAEPAXI at Z # virtual void * __thiscall ifstream::`scalar deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Gios@@UAEPAXI at Z(ptr long) ios_scalar_dtor
@ stub -arch=win32 ??_Giostream@@UAEPAXI at Z # virtual void * __thiscall iostream::`scalar deleting destructor'(unsigned int)
-@ stub -arch=win32 ??_Gistream@@UAEPAXI at Z # virtual void * __thiscall istream::`scalar deleting destructor'(unsigned int)
+@ thiscall -arch=win32 ??_Gistream@@UAEPAXI at Z(ptr long) istream_scalar_dtor
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI at Z # virtual void * __thiscall istream_withassign::`scalar deleting destructor'(unsigned int)
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI at Z # virtual void * __thiscall istrstream::`scalar deleting destructor'(unsigned int)
@ thiscall -arch=win32 ??_Glogic_error@@UAEPAXI at Z(ptr long) MSVCP_logic_error_scalar_dtor
@@ -449,8 +449,8 @@
@ cdecl -arch=win64 ?doallocate at streambuf@@MEAAHXZ(ptr) streambuf_doallocate
@ thiscall -arch=win32 ?doallocate at strstreambuf@@MAEHXZ(ptr) strstreambuf_doallocate
@ cdecl -arch=win64 ?doallocate at strstreambuf@@MEAAHXZ(ptr) strstreambuf_doallocate
-@ stub -arch=win32 ?eatwhite at istream@@QAEXXZ # void __thiscall istream::eatwhite(void)
-@ stub -arch=win64 ?eatwhite at istream@@QEAAXXZ
+@ thiscall -arch=win32 ?eatwhite at istream@@QAEXXZ(ptr) istream_eatwhite
+@ cdecl -arch=win64 ?eatwhite at istream@@QEAAXXZ(ptr) istream_eatwhite
@ thiscall -arch=win32 ?eback at streambuf@@IBEPADXZ(ptr) streambuf_eback
@ cdecl -arch=win64 ?eback at streambuf@@IEBAPEADXZ(ptr) streambuf_eback
@ thiscall -arch=win32 ?ebuf at streambuf@@IBEPADXZ(ptr) streambuf_ebuf
@@ -493,50 +493,50 @@
@ cdecl -arch=win64 ?freeze at strstreambuf@@QEAAXH at Z(ptr long) strstreambuf_freeze
@ thiscall -arch=win32 ?gbump at streambuf@@IAEXH at Z(ptr long) streambuf_gbump
@ cdecl -arch=win64 ?gbump at streambuf@@IEAAXH at Z(ptr long) streambuf_gbump
-@ stub -arch=win32 ?gcount at istream@@QBEHXZ # int __thiscall istream::gcount(void)const
-@ stub -arch=win64 ?gcount at istream@@QEBAHXZ
-@ stub -arch=win32 ?get at istream@@IAEAAV1 at PADHH@Z # class istream & __thiscall istream::get(char *,int,int)
-@ stub -arch=win64 ?get at istream@@IEAAAEAV1 at PEADHH@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAC@Z # class istream & __thiscall istream::get(signed char &)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAC@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAD@Z # class istream & __thiscall istream::get(char &)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAE@Z # class istream & __thiscall istream::get(unsigned char &)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAE@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z # class istream & __thiscall istream::get(class streambuf &,char)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PACHD@Z # class istream & __thiscall istream::get(signed char *,int,char)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEACHD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PADHD@Z # class istream & __thiscall istream::get(char *,int,char)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEADHD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PAEHD@Z # class istream & __thiscall istream::get(unsigned char *,int,char)
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEAEHD@Z
-@ stub -arch=win32 ?get at istream@@QAEHXZ # int __thiscall istream::get(void)
-@ stub -arch=win64 ?get at istream@@QEAAHXZ
-@ stub -arch=win32 ?getdouble at istream@@AAEHPADH at Z # int __thiscall istream::getdouble(char *,int)
-@ stub -arch=win64 ?getdouble at istream@@AEAAHPEADH at Z
-@ stub -arch=win32 ?getint at istream@@AAEHPAD at Z # int __thiscall istream::getint(char *)
-@ stub -arch=win64 ?getint at istream@@AEAAHPEAD at Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PACHD@Z # class istream & __thiscall istream::getline(signed char *,int,char)
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEACHD@Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PADHD@Z # class istream & __thiscall istream::getline(char *,int,char)
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEADHD@Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PAEHD@Z # class istream & __thiscall istream::getline(unsigned char *,int,char)
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEAEHD@Z
+@ thiscall -arch=win32 ?gcount at istream@@QBEHXZ(ptr) istream_gcount
+@ cdecl -arch=win64 ?gcount at istream@@QEBAHXZ(ptr) istream_gcount
+@ thiscall -arch=win32 ?get at istream@@IAEAAV1 at PADHH@Z(ptr ptr long long) istream_get_str_delim
+@ cdecl -arch=win64 ?get at istream@@IEAAAEAV1 at PEADHH@Z(ptr ptr long long) istream_get_str_delim
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAC@Z(ptr ptr) istream_get_char
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAC@Z(ptr ptr) istream_get_char
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAD@Z(ptr ptr) istream_get_char
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAD@Z(ptr ptr) istream_get_char
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAE@Z(ptr ptr) istream_get_unsigned_char
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAE@Z(ptr ptr) istream_get_unsigned_char
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z(ptr ptr long) istream_get_sb
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z(ptr ptr long) istream_get_sb
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PACHD@Z(ptr ptr long long) istream_get_str
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEACHD@Z(ptr ptr long long) istream_get_str
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PADHD@Z(ptr ptr long long) istream_get_str
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEADHD@Z(ptr ptr long long) istream_get_str
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PAEHD@Z(ptr ptr long long) istream_get_unsigned_str
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEAEHD@Z(ptr ptr long long) istream_get_unsigned_str
+@ thiscall -arch=win32 ?get at istream@@QAEHXZ(ptr) istream_get
+@ cdecl -arch=win64 ?get at istream@@QEAAHXZ(ptr) istream_get
+@ thiscall -arch=win32 ?getdouble at istream@@AAEHPADH at Z(ptr ptr long) istream_getdouble
+@ cdecl -arch=win64 ?getdouble at istream@@AEAAHPEADH at Z(ptr ptr long) istream_getdouble
+@ thiscall -arch=win32 ?getint at istream@@AAEHPAD at Z(ptr ptr) istream_getint
+@ cdecl -arch=win64 ?getint at istream@@AEAAHPEAD at Z(ptr ptr) istream_getint
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PACHD@Z(ptr ptr long long) istream_getline
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEACHD@Z(ptr ptr long long) istream_getline
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PADHD@Z(ptr ptr long long) istream_getline
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEADHD@Z(ptr ptr long long) istream_getline
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PAEHD@Z(ptr ptr long long) istream_getline_unsigned
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEAEHD@Z(ptr ptr long long) istream_getline_unsigned
@ thiscall -arch=win32 ?good at ios@@QBEHXZ(ptr) ios_good
@ cdecl -arch=win64 ?good at ios@@QEBAHXZ(ptr) ios_good
@ thiscall -arch=win32 ?gptr at streambuf@@IBEPADXZ(ptr) streambuf_gptr
@ cdecl -arch=win64 ?gptr at streambuf@@IEBAPEADXZ(ptr) streambuf_gptr
@ cdecl -arch=win32 ?hex@@YAAAVios@@AAV1@@Z(ptr) ios_hex
@ cdecl -arch=win64 ?hex@@YAAEAVios@@AEAV1@@Z(ptr) ios_hex
-@ stub -arch=win32 ?ignore at istream@@QAEAAV1 at HH@Z # class istream & __thiscall istream::ignore(int,int)
-@ stub -arch=win64 ?ignore at istream@@QEAAAEAV1 at HH@Z
+@ thiscall -arch=win32 ?ignore at istream@@QAEAAV1 at HH@Z(ptr long long) istream_ignore
+@ cdecl -arch=win64 ?ignore at istream@@QEAAAEAV1 at HH@Z(ptr long long) istream_ignore
@ thiscall -arch=win32 ?in_avail at streambuf@@QBEHXZ(ptr) streambuf_in_avail
@ cdecl -arch=win64 ?in_avail at streambuf@@QEBAHXZ(ptr) streambuf_in_avail
@ thiscall -arch=win32 ?init at ios@@IAEXPAVstreambuf@@@Z(ptr ptr) ios_init
@ cdecl -arch=win64 ?init at ios@@IEAAXPEAVstreambuf@@@Z(ptr ptr) ios_init
-@ stub -arch=win32 ?ipfx at istream@@QAEHH at Z # int __thiscall istream::ipfx(int)
-@ stub -arch=win64 ?ipfx at istream@@QEAAHH at Z
+@ thiscall -arch=win32 ?ipfx at istream@@QAEHH at Z(ptr long) istream_ipfx
+@ cdecl -arch=win64 ?ipfx at istream@@QEAAHH at Z(ptr long) istream_ipfx
@ thiscall -arch=win32 ?is_open at filebuf@@QBEHXZ(ptr) filebuf_is_open
@ cdecl -arch=win64 ?is_open at filebuf@@QEBAHXZ(ptr) filebuf_is_open
@ stub -arch=win32 ?is_open at fstream@@QBEHXZ # int __thiscall fstream::is_open(void)const
@@ -545,8 +545,8 @@
@ stub -arch=win64 ?is_open at ifstream@@QEBAHXZ
@ stub -arch=win32 ?is_open at ofstream@@QBEHXZ # int __thiscall ofstream::is_open(void)const
@ stub -arch=win64 ?is_open at ofstream@@QEBAHXZ
-@ stub -arch=win32 ?isfx at istream@@QAEXXZ # void __thiscall istream::isfx(void)
-@ stub -arch=win64 ?isfx at istream@@QEAAXXZ
+@ thiscall -arch=win32 ?isfx at istream@@QAEXXZ(ptr) istream_isfx
+@ cdecl -arch=win64 ?isfx at istream@@QEAAXXZ(ptr) istream_isfx
@ thiscall -arch=win32 ?iword at ios@@QBEAAJH at Z(ptr long) ios_iword
@ cdecl -arch=win64 ?iword at ios@@QEBAAEAJH at Z(ptr long) ios_iword
@ cdecl -arch=win32 ?lock at ios@@QAAXXZ(ptr) ios_lock
@@ -595,8 +595,8 @@
@ stub -arch=win64 ?pcount at ostrstream@@QEBAHXZ
@ stub -arch=win32 ?pcount at strstream@@QBEHXZ # int __thiscall strstream::pcount(void)const
@ stub -arch=win64 ?pcount at strstream@@QEBAHXZ
-@ stub -arch=win32 ?peek at istream@@QAEHXZ # int __thiscall istream::peek(void)
-@ stub -arch=win64 ?peek at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?peek at istream@@QAEHXZ(ptr) istream_peek
+@ cdecl -arch=win64 ?peek at istream@@QEAAHXZ(ptr) istream_peek
@ thiscall -arch=win32 ?pptr at streambuf@@IBEPADXZ(ptr) streambuf_pptr
@ cdecl -arch=win64 ?pptr at streambuf@@IEBAPEADXZ(ptr) streambuf_pptr
@ thiscall -arch=win32 ?precision at ios@@QAEHH at Z(ptr long) ios_precision_set
@@ -609,8 +609,8 @@
@ cdecl -arch=win64 ?put at ostream@@QEAAAEAV1 at D@Z(ptr long) ostream_put_char
@ thiscall -arch=win32 ?put at ostream@@QAEAAV1 at E@Z(ptr long) ostream_put_unsigned_char
@ cdecl -arch=win64 ?put at ostream@@QEAAAEAV1 at E@Z(ptr long) ostream_put_unsigned_char
-@ stub -arch=win32 ?putback at istream@@QAEAAV1 at D@Z # class istream & __thiscall istream::putback(char)
-@ stub -arch=win64 ?putback at istream@@QEAAAEAV1 at D@Z
+@ thiscall -arch=win32 ?putback at istream@@QAEAAV1 at D@Z(ptr long) istream_putback
+@ cdecl -arch=win64 ?putback at istream@@QEAAAEAV1 at D@Z(ptr long) istream_putback
@ thiscall -arch=win32 ?pword at ios@@QBEAAPAXH at Z(ptr long) ios_pword
@ cdecl -arch=win64 ?pword at ios@@QEBAAEAPEAXH at Z(ptr long) ios_pword
@ stub -arch=win32 ?rdbuf at fstream@@QBEPAVfilebuf@@XZ # class filebuf * __thiscall fstream::rdbuf(void)const
@@ -631,18 +631,18 @@
@ stub -arch=win64 ?rdbuf at strstream@@QEBAPEAVstrstreambuf@@XZ
@ thiscall -arch=win32 ?rdstate at ios@@QBEHXZ(ptr) ios_rdstate
@ cdecl -arch=win64 ?rdstate at ios@@QEBAHXZ(ptr) ios_rdstate
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PACH@Z # class istream & __thiscall istream::read(signed char *,int)
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEACH@Z
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PADH@Z # class istream & __thiscall istream::read(char *,int)
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEADH@Z
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PAEH@Z # class istream & __thiscall istream::read(unsigned char *,int)
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEAEH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PACH@Z(ptr ptr long) istream_read
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEACH@Z(ptr ptr long) istream_read
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PADH@Z(ptr ptr long) istream_read
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEADH@Z(ptr ptr long) istream_read
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PAEH@Z(ptr ptr long) istream_read_unsigned
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEAEH@Z(ptr ptr long) istream_read_unsigned
@ thiscall -arch=win32 ?sbumpc at streambuf@@QAEHXZ(ptr) streambuf_sbumpc
@ cdecl -arch=win64 ?sbumpc at streambuf@@QEAAHXZ(ptr) streambuf_sbumpc
-@ stub -arch=win32 ?seekg at istream@@QAEAAV1 at J@Z # class istream & __thiscall istream::seekg(long)
-@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at J@Z
-@ stub -arch=win32 ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z # class istream & __thiscall istream::seekg(long,enum ios::seek_dir)
-@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
+@ thiscall -arch=win32 ?seekg at istream@@QAEAAV1 at J@Z(ptr long) istream_seekg
+@ cdecl -arch=win64 ?seekg at istream@@QEAAAEAV1 at J@Z(ptr long) istream_seekg
+@ thiscall -arch=win32 ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z(ptr ptr long) istream_seekg_offset
+@ cdecl -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z(ptr ptr long) istream_seekg_offset
@ thiscall -arch=win32 ?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) filebuf_seekoff
@ cdecl -arch=win64 ?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) filebuf_seekoff
@ thiscall -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) stdiobuf_seekoff
@@ -723,8 +723,8 @@
# @ extern ?sunk_with_stdio at ios@@0HA # static int ios::sunk_with_stdio
@ thiscall -arch=win32 ?sync at filebuf@@UAEHXZ(ptr) filebuf_sync
@ cdecl -arch=win64 ?sync at filebuf@@UEAAHXZ(ptr) filebuf_sync
-@ stub -arch=win32 ?sync at istream@@QAEHXZ # int __thiscall istream::sync(void)
-@ stub -arch=win64 ?sync at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?sync at istream@@QAEHXZ(ptr) istream_sync
+@ cdecl -arch=win64 ?sync at istream@@QEAAHXZ(ptr) istream_sync
@ thiscall -arch=win32 ?sync at stdiobuf@@UAEHXZ(ptr) stdiobuf_sync
@ cdecl -arch=win64 ?sync at stdiobuf@@UEAAHXZ(ptr) stdiobuf_sync
@ thiscall -arch=win32 ?sync at streambuf@@UAEHXZ(ptr) streambuf_sync
@@ -732,8 +732,8 @@
@ thiscall -arch=win32 ?sync at strstreambuf@@UAEHXZ(ptr) strstreambuf_sync
@ cdecl -arch=win64 ?sync at strstreambuf@@UEAAHXZ(ptr) strstreambuf_sync
@ cdecl ?sync_with_stdio at ios@@SAXXZ() ios_sync_with_stdio
-@ stub -arch=win32 ?tellg at istream@@QAEJXZ # long __thiscall istream::tellg(void)
-@ stub -arch=win64 ?tellg at istream@@QEAAJXZ
+@ thiscall -arch=win32 ?tellg at istream@@QAEJXZ(ptr) istream_tellg
+@ cdecl -arch=win64 ?tellg at istream@@QEAAJXZ(ptr) istream_tellg
@ thiscall -arch=win32 ?tellp at ostream@@QAEJXZ(ptr) ostream_tellp
@ cdecl -arch=win64 ?tellp at ostream@@QEAAJXZ(ptr) ostream_tellp
@ extern ?text at filebuf@@2HB filebuf_text
@@ -774,8 +774,8 @@
@ cdecl -arch=win64 ?write at ostream@@QEAAAEAV1 at PEBEH@Z(ptr str long) ostream_write_unsigned_char
@ thiscall -arch=win32 ?writepad at ostream@@AAEAAV1 at PBD0@Z(ptr str str) ostream_writepad
@ cdecl -arch=win64 ?writepad at ostream@@AEAAAEAV1 at PEBD0@Z(ptr str str) ostream_writepad
-@ stub -arch=win32 ?ws@@YAAAVistream@@AAV1@@Z # class istream & __cdecl ws(class istream &)
-@ stub -arch=win64 ?ws@@YAAEAVistream@@AEAV1@@Z
+@ cdecl -arch=win32 ?ws@@YAAAVistream@@AAV1@@Z(ptr) istream_ws
+@ cdecl -arch=win64 ?ws@@YAAEAVistream@@AEAV1@@Z(ptr) istream_ws
@ extern ?x_curindex at ios@@0HA ios_curindex
@ extern ?x_lockc at ios@@0U_CRT_CRITICAL_SECTION@@A ios_static_lock
@ extern ?x_maxbit at ios@@0JA ios_maxbit
diff --git a/dlls/msvcrt20/msvcrt20.spec b/dlls/msvcrt20/msvcrt20.spec
index a51ccd9..39ad641 100644
--- a/dlls/msvcrt20/msvcrt20.spec
+++ b/dlls/msvcrt20/msvcrt20.spec
@@ -42,12 +42,12 @@
@ stub -arch=win64 ??0iostream@@IEAA at XZ
@ stub -arch=win32 ??0iostream@@QAE at PAVstreambuf@@@Z
@ stub -arch=win64 ??0iostream@@QEAA at PEAVstreambuf@@@Z
-@ stub -arch=win32 ??0istream@@IAE at ABV0@@Z
-@ stub -arch=win64 ??0istream@@IEAA at AEBV0@@Z
-@ stub -arch=win32 ??0istream@@IAE at XZ
-@ stub -arch=win64 ??0istream@@IEAA at XZ
-@ stub -arch=win32 ??0istream@@QAE at PAVstreambuf@@@Z
-@ stub -arch=win64 ??0istream@@QEAA at PEAVstreambuf@@@Z
+@ thiscall -arch=win32 ??0istream@@IAE at ABV0@@Z(ptr ptr long) msvcirt.??0istream@@IAE at ABV0@@Z
+@ cdecl -arch=win64 ??0istream@@IEAA at AEBV0@@Z(ptr ptr long) msvcirt.??0istream@@IEAA at AEBV0@@Z
+@ thiscall -arch=win32 ??0istream@@IAE at XZ(ptr long) msvcirt.??0istream@@IAE at XZ
+@ cdecl -arch=win64 ??0istream@@IEAA at XZ(ptr long) msvcirt.??0istream@@IEAA at XZ
+@ thiscall -arch=win32 ??0istream@@QAE at PAVstreambuf@@@Z(ptr ptr long) msvcirt.??0istream@@QAE at PAVstreambuf@@@Z
+@ cdecl -arch=win64 ??0istream@@QEAA at PEAVstreambuf@@@Z(ptr ptr long) msvcirt.??0istream@@QEAA at PEAVstreambuf@@@Z
@ stub -arch=win32 ??0istream_withassign@@QAE at ABV0@@Z
@ stub -arch=win64 ??0istream_withassign@@QEAA at AEBV0@@Z
@ stub -arch=win32 ??0istream_withassign@@QAE at PAVstreambuf@@@Z
@@ -130,8 +130,8 @@
@ cdecl -arch=win64 ??1ios@@UEAA at XZ(ptr) msvcirt.??1ios@@UEAA at XZ
@ stub -arch=win32 ??1iostream@@UAE at XZ
@ stub -arch=win64 ??1iostream@@UEAA at XZ
-@ stub -arch=win32 ??1istream@@UAE at XZ
-@ stub -arch=win64 ??1istream@@UEAA at XZ
+@ thiscall -arch=win32 ??1istream@@UAE at XZ(ptr) msvcirt.??1istream@@UAE at XZ
+@ cdecl -arch=win64 ??1istream@@UEAA at XZ(ptr) msvcirt.??1istream@@UEAA at XZ
@ stub -arch=win32 ??1istream_withassign@@UAE at XZ
@ stub -arch=win64 ??1istream_withassign@@UEAA at XZ
@ stub -arch=win32 ??1istrstream@@UAE at XZ
@@ -172,10 +172,10 @@
@ stub -arch=win64 ??4iostream@@IEAAAEAV0 at AEAV0@@Z
@ stub -arch=win32 ??4iostream@@IAEAAV0 at PAVstreambuf@@@Z
@ stub -arch=win64 ??4iostream@@IEAAAEAV0 at PEAVstreambuf@@@Z
-@ stub -arch=win32 ??4istream@@IAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4istream@@IEAAAEAV0 at AEBV0@@Z
-@ stub -arch=win32 ??4istream@@IAEAAV0 at PAVstreambuf@@@Z
-@ stub -arch=win64 ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z
+@ thiscall -arch=win32 ??4istream@@IAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4istream@@IAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4istream@@IEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4istream@@IEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4istream@@IAEAAV0 at PAVstreambuf@@@Z(ptr ptr) msvcirt.??4istream@@IAEAAV0 at PAVstreambuf@@@Z
+@ cdecl -arch=win64 ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z(ptr ptr) msvcirt.??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z
@ stub -arch=win32 ??4istream_withassign@@QAEAAV0 at ABV0@@Z
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAV0 at AEBV0@@Z
@ stub -arch=win32 ??4istream_withassign@@QAEAAVistream@@ABV1@@Z
@@ -291,7 +291,7 @@
# @ extern ??_7ifstream@@6B@
@ extern ??_7ios@@6B@ msvcirt.??_7ios@@6B@
# @ extern ??_7iostream@@6B@
-# @ extern ??_7istream@@6B@
+@ extern ??_7istream@@6B@ msvcirt.??_7istream@@6B@
# @ extern ??_7istream_withassign@@6B@
# @ extern ??_7istrstream@@6B@
# @ extern ??_7ofstream@@6B@
@@ -308,7 +308,7 @@
# @ extern ??_8ifstream@@7B@
# @ extern ??_8iostream@@7Bistream@@@
# @ extern ??_8iostream@@7Bostream@@@
-# @ extern ??_8istream@@7B@
+@ extern ??_8istream@@7B@ msvcirt.??_8istream@@7B@
# @ extern ??_8istream_withassign@@7B@
# @ extern ??_8istrstream@@7B@
# @ extern ??_8ofstream@@7B@
@@ -325,8 +325,8 @@
@ stub -arch=win64 ??_Difstream@@QEAAXXZ
@ stub -arch=win32 ??_Diostream@@QAEXXZ
@ stub -arch=win64 ??_Diostream@@QEAAXXZ
-@ stub -arch=win32 ??_Distream@@QAEXXZ
-@ stub -arch=win64 ??_Distream@@QEAAXXZ
+@ thiscall -arch=win32 ??_Distream@@QAEXXZ(ptr) msvcirt.??_Distream@@QAEXXZ
+@ cdecl -arch=win64 ??_Distream@@QEAAXXZ(ptr) msvcirt.??_Distream@@QEAAXXZ
@ stub -arch=win32 ??_Distream_withassign@@QAEXXZ
@ stub -arch=win64 ??_Distream_withassign@@QEAAXXZ
@ stub -arch=win32 ??_Distrstream@@QAEXXZ
@@ -349,7 +349,7 @@
@ stub -arch=win32 ??_Eifstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Eios@@UAEPAXI at Z(ptr long) msvcirt.??_Eios@@UAEPAXI at Z
@ stub -arch=win32 ??_Eiostream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Eistream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Eistream@@UAEPAXI at Z(ptr long) msvcirt.??_Eistream@@UAEPAXI at Z
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI at Z
@ stub -arch=win32 ??_Eofstream@@UAEPAXI at Z
@@ -367,7 +367,7 @@
@ stub -arch=win32 ??_Gifstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gios@@UAEPAXI at Z(ptr long) msvcirt.??_Gios@@UAEPAXI at Z
@ stub -arch=win32 ??_Giostream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Gistream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Gistream@@UAEPAXI at Z(ptr long) msvcirt.??_Gistream@@UAEPAXI at Z
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI at Z
@ stub -arch=win32 ??_Gofstream@@UAEPAXI at Z
@@ -437,8 +437,8 @@
@ cdecl -arch=win64 ?doallocate at streambuf@@MEAAHXZ(ptr) msvcirt.?doallocate at streambuf@@MEAAHXZ
@ thiscall -arch=win32 ?doallocate at strstreambuf@@MAEHXZ(ptr) msvcirt.?doallocate at strstreambuf@@MAEHXZ
@ cdecl -arch=win64 ?doallocate at strstreambuf@@MEAAHXZ(ptr) msvcirt.?doallocate at strstreambuf@@MEAAHXZ
-@ stub -arch=win32 ?eatwhite at istream@@QAEXXZ
-@ stub -arch=win64 ?eatwhite at istream@@QEAAXXZ
+@ thiscall -arch=win32 ?eatwhite at istream@@QAEXXZ(ptr) msvcirt.?eatwhite at istream@@QAEXXZ
+@ cdecl -arch=win64 ?eatwhite at istream@@QEAAXXZ(ptr) msvcirt.?eatwhite at istream@@QEAAXXZ
@ thiscall -arch=win32 ?eback at streambuf@@IBEPADXZ(ptr) msvcirt.?eback at streambuf@@IBEPADXZ
@ cdecl -arch=win64 ?eback at streambuf@@IEBAPEADXZ(ptr) msvcirt.?eback at streambuf@@IEBAPEADXZ
@ thiscall -arch=win32 ?ebuf at streambuf@@IBEPADXZ(ptr) msvcirt.?ebuf at streambuf@@IBEPADXZ
@@ -481,48 +481,48 @@
@ cdecl -arch=win64 ?freeze at strstreambuf@@QEAAXH at Z(ptr long) msvcirt.?freeze at strstreambuf@@QEAAXH at Z
@ thiscall -arch=win32 ?gbump at streambuf@@IAEXH at Z(ptr long) msvcirt.?gbump at streambuf@@IAEXH at Z
@ cdecl -arch=win64 ?gbump at streambuf@@IEAAXH at Z(ptr long) msvcirt.?gbump at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?gcount at istream@@QBEHXZ
-@ stub -arch=win64 ?gcount at istream@@QEBAHXZ
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAC@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAC@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAE@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAE@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PACHD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEACHD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PADHD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEADHD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PAEHD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEAEHD@Z
-@ stub -arch=win32 ?get at istream@@QAEHXZ
-@ stub -arch=win64 ?get at istream@@QEAAHXZ
-@ stub -arch=win32 ?getdouble at istream@@AAEHPADH at Z
-@ stub -arch=win64 ?getdouble at istream@@AEAAHPEADH at Z
-@ stub -arch=win32 ?getint at istream@@AAEHPAD at Z
-@ stub -arch=win64 ?getint at istream@@AEAAHPEAD at Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PACHD@Z
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEACHD@Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PADHD@Z
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEADHD@Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PAEHD@Z
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEAEHD@Z
+@ thiscall -arch=win32 ?gcount at istream@@QBEHXZ(ptr) msvcirt.?gcount at istream@@QBEHXZ
+@ cdecl -arch=win64 ?gcount at istream@@QEBAHXZ(ptr) msvcirt.?gcount at istream@@QEBAHXZ
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAC@Z(ptr ptr) msvcirt.?get at istream@@QAEAAV1 at AAC@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAC@Z(ptr ptr) msvcirt.?get at istream@@QEAAAEAV1 at AEAC@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAD@Z(ptr ptr) msvcirt.?get at istream@@QAEAAV1 at AAD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAD@Z(ptr ptr) msvcirt.?get at istream@@QEAAAEAV1 at AEAD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAE@Z(ptr ptr) msvcirt.?get at istream@@QAEAAV1 at AAE@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAE@Z(ptr ptr) msvcirt.?get at istream@@QEAAAEAV1 at AEAE@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z(ptr ptr long) msvcirt.?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z(ptr ptr long) msvcirt.?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PACHD@Z(ptr ptr long long) msvcirt.?get at istream@@QAEAAV1 at PACHD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEACHD@Z(ptr ptr long long) msvcirt.?get at istream@@QEAAAEAV1 at PEACHD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PADHD@Z(ptr ptr long long) msvcirt.?get at istream@@QAEAAV1 at PADHD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEADHD@Z(ptr ptr long long) msvcirt.?get at istream@@QEAAAEAV1 at PEADHD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PAEHD@Z(ptr ptr long long) msvcirt.?get at istream@@QAEAAV1 at PAEHD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEAEHD@Z(ptr ptr long long) msvcirt.?get at istream@@QEAAAEAV1 at PEAEHD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEHXZ(ptr) msvcirt.?get at istream@@QAEHXZ
+@ cdecl -arch=win64 ?get at istream@@QEAAHXZ(ptr) msvcirt.?get at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?getdouble at istream@@AAEHPADH at Z(ptr ptr long) msvcirt.?getdouble at istream@@AAEHPADH at Z
+@ cdecl -arch=win64 ?getdouble at istream@@AEAAHPEADH at Z(ptr ptr long) msvcirt.?getdouble at istream@@AEAAHPEADH at Z
+@ thiscall -arch=win32 ?getint at istream@@AAEHPAD at Z(ptr ptr) msvcirt.?getint at istream@@AAEHPAD at Z
+@ cdecl -arch=win64 ?getint at istream@@AEAAHPEAD at Z(ptr ptr) msvcirt.?getint at istream@@AEAAHPEAD at Z
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PACHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QAEAAV1 at PACHD@Z
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEACHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QEAAAEAV1 at PEACHD@Z
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PADHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QAEAAV1 at PADHD@Z
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEADHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QEAAAEAV1 at PEADHD@Z
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PAEHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QAEAAV1 at PAEHD@Z
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEAEHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QEAAAEAV1 at PEAEHD@Z
@ thiscall -arch=win32 ?good at ios@@QBEHXZ(ptr) msvcirt.?good at ios@@QBEHXZ
@ cdecl -arch=win64 ?good at ios@@QEBAHXZ(ptr) msvcirt.?good at ios@@QEBAHXZ
@ thiscall -arch=win32 ?gptr at streambuf@@IBEPADXZ(ptr) msvcirt.?gptr at streambuf@@IBEPADXZ
@ cdecl -arch=win64 ?gptr at streambuf@@IEBAPEADXZ(ptr) msvcirt.?gptr at streambuf@@IEBAPEADXZ
@ cdecl -arch=win32 ?hex@@YAAAVios@@AAV1@@Z(ptr) msvcirt.?hex@@YAAAVios@@AAV1@@Z
@ cdecl -arch=win64 ?hex@@YAAEAVios@@AEAV1@@Z(ptr) msvcirt.?hex@@YAAEAVios@@AEAV1@@Z
-@ stub -arch=win32 ?ignore at istream@@QAEAAV1 at HH@Z
-@ stub -arch=win64 ?ignore at istream@@QEAAAEAV1 at HH@Z
+@ thiscall -arch=win32 ?ignore at istream@@QAEAAV1 at HH@Z(ptr long long) msvcirt.?ignore at istream@@QAEAAV1 at HH@Z
+@ cdecl -arch=win64 ?ignore at istream@@QEAAAEAV1 at HH@Z(ptr long long) msvcirt.?ignore at istream@@QEAAAEAV1 at HH@Z
@ thiscall -arch=win32 ?in_avail at streambuf@@QBEHXZ(ptr) msvcirt.?in_avail at streambuf@@QBEHXZ
@ cdecl -arch=win64 ?in_avail at streambuf@@QEBAHXZ(ptr) msvcirt.?in_avail at streambuf@@QEBAHXZ
@ thiscall -arch=win32 ?init at ios@@IAEXPAVstreambuf@@@Z(ptr ptr) msvcirt.?init at ios@@IAEXPAVstreambuf@@@Z
@ cdecl -arch=win64 ?init at ios@@IEAAXPEAVstreambuf@@@Z(ptr ptr) msvcirt.?init at ios@@IEAAXPEAVstreambuf@@@Z
-@ stub -arch=win32 ?ipfx at istream@@QAEHH at Z
-@ stub -arch=win64 ?ipfx at istream@@QEAAHH at Z
+@ thiscall -arch=win32 ?ipfx at istream@@QAEHH at Z(ptr long) msvcirt.?ipfx at istream@@QAEHH at Z
+@ cdecl -arch=win64 ?ipfx at istream@@QEAAHH at Z(ptr long) msvcirt.?ipfx at istream@@QEAAHH at Z
@ thiscall -arch=win32 ?is_open at filebuf@@QBEHXZ(ptr) msvcirt.?is_open at filebuf@@QBEHXZ
@ cdecl -arch=win64 ?is_open at filebuf@@QEBAHXZ(ptr) msvcirt.?is_open at filebuf@@QEBAHXZ
@ stub -arch=win32 ?is_open at fstream@@QBEHXZ
@@ -531,8 +531,8 @@
@ stub -arch=win64 ?is_open at ifstream@@QEBAHXZ
@ stub -arch=win32 ?is_open at ofstream@@QBEHXZ
@ stub -arch=win64 ?is_open at ofstream@@QEBAHXZ
-@ stub -arch=win32 ?isfx at istream@@QAEXXZ
-@ stub -arch=win64 ?isfx at istream@@QEAAXXZ
+@ thiscall -arch=win32 ?isfx at istream@@QAEXXZ(ptr) msvcirt.?isfx at istream@@QAEXXZ
+@ cdecl -arch=win64 ?isfx at istream@@QEAAXXZ(ptr) msvcirt.?isfx at istream@@QEAAXXZ
@ thiscall -arch=win32 ?iword at ios@@QBEAAJH at Z(ptr long) msvcirt.?iword at ios@@QBEAAJH at Z
@ cdecl -arch=win64 ?iword at ios@@QEBAAEAJH at Z(ptr long) msvcirt.?iword at ios@@QEBAAEAJH at Z
@ cdecl -arch=win32 ?lock at ios@@QAAXXZ(ptr) msvcirt.?lock at ios@@QAAXXZ
@@ -581,8 +581,8 @@
@ stub -arch=win64 ?pcount at ostrstream@@QEBAHXZ
@ stub -arch=win32 ?pcount at strstream@@QBEHXZ
@ stub -arch=win64 ?pcount at strstream@@QEBAHXZ
-@ stub -arch=win32 ?peek at istream@@QAEHXZ
-@ stub -arch=win64 ?peek at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?peek at istream@@QAEHXZ(ptr) msvcirt.?peek at istream@@QAEHXZ
+@ cdecl -arch=win64 ?peek at istream@@QEAAHXZ(ptr) msvcirt.?peek at istream@@QEAAHXZ
@ thiscall -arch=win32 ?pptr at streambuf@@IBEPADXZ(ptr) msvcirt.?pptr at streambuf@@IBEPADXZ
@ cdecl -arch=win64 ?pptr at streambuf@@IEBAPEADXZ(ptr) msvcirt.?pptr at streambuf@@IEBAPEADXZ
@ thiscall -arch=win32 ?precision at ios@@QAEHH at Z(ptr long) msvcirt.?precision at ios@@QAEHH at Z
@@ -595,8 +595,8 @@
@ cdecl -arch=win64 ?put at ostream@@QEAAAEAV1 at D@Z(ptr long) msvcirt.?put at ostream@@QEAAAEAV1 at D@Z
@ thiscall -arch=win32 ?put at ostream@@QAEAAV1 at E@Z(ptr long) msvcirt.?put at ostream@@QAEAAV1 at E@Z
@ cdecl -arch=win64 ?put at ostream@@QEAAAEAV1 at E@Z(ptr long) msvcirt.?put at ostream@@QEAAAEAV1 at E@Z
-@ stub -arch=win32 ?putback at istream@@QAEAAV1 at D@Z
-@ stub -arch=win64 ?putback at istream@@QEAAAEAV1 at D@Z
+@ thiscall -arch=win32 ?putback at istream@@QAEAAV1 at D@Z(ptr long) msvcirt.?putback at istream@@QAEAAV1 at D@Z
+@ cdecl -arch=win64 ?putback at istream@@QEAAAEAV1 at D@Z(ptr long) msvcirt.?putback at istream@@QEAAAEAV1 at D@Z
@ thiscall -arch=win32 ?pword at ios@@QBEAAPAXH at Z(ptr long) msvcirt.?pword at ios@@QBEAAPAXH at Z
@ cdecl -arch=win64 ?pword at ios@@QEBAAEAPEAXH at Z(ptr long) msvcirt.?pword at ios@@QEBAAEAPEAXH at Z
@ stub -arch=win32 ?rdbuf at fstream@@QBEPAVfilebuf@@XZ
@@ -617,18 +617,18 @@
@ stub -arch=win64 ?rdbuf at strstream@@QEBAPEAVstrstreambuf@@XZ
@ thiscall -arch=win32 ?rdstate at ios@@QBEHXZ(ptr) msvcirt.?rdstate at ios@@QBEHXZ
@ cdecl -arch=win64 ?rdstate at ios@@QEBAHXZ(ptr) msvcirt.?rdstate at ios@@QEBAHXZ
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PACH@Z
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEACH@Z
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PADH@Z
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEADH@Z
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PAEH@Z
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEAEH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PACH@Z(ptr ptr long) msvcirt.?read at istream@@QAEAAV1 at PACH@Z
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEACH@Z(ptr ptr long) msvcirt.?read at istream@@QEAAAEAV1 at PEACH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PADH@Z(ptr ptr long) msvcirt.?read at istream@@QAEAAV1 at PADH@Z
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEADH@Z(ptr ptr long) msvcirt.?read at istream@@QEAAAEAV1 at PEADH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PAEH@Z(ptr ptr long) msvcirt.?read at istream@@QAEAAV1 at PAEH@Z
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEAEH@Z(ptr ptr long) msvcirt.?read at istream@@QEAAAEAV1 at PEAEH@Z
@ thiscall -arch=win32 ?sbumpc at streambuf@@QAEHXZ(ptr) msvcirt.?sbumpc at streambuf@@QAEHXZ
@ cdecl -arch=win64 ?sbumpc at streambuf@@QEAAHXZ(ptr) msvcirt.?sbumpc at streambuf@@QEAAHXZ
-@ stub -arch=win32 ?seekg at istream@@QAEAAV1 at J@Z
-@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at J@Z
-@ stub -arch=win32 ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z
-@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
+@ thiscall -arch=win32 ?seekg at istream@@QAEAAV1 at J@Z(ptr long) msvcirt.?seekg at istream@@QAEAAV1 at J@Z
+@ cdecl -arch=win64 ?seekg at istream@@QEAAAEAV1 at J@Z(ptr long) msvcirt.?seekg at istream@@QEAAAEAV1 at J@Z
+@ thiscall -arch=win32 ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z(ptr ptr long) msvcirt.?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z
+@ cdecl -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z(ptr ptr long) msvcirt.?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
@ thiscall -arch=win32 ?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z
@ cdecl -arch=win64 ?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z
@ thiscall -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z
@@ -711,8 +711,8 @@
# @ extern ?sunk_with_stdio at ios@@0HA
@ thiscall -arch=win32 ?sync at filebuf@@UAEHXZ(ptr) msvcirt.?sync at filebuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at filebuf@@UEAAHXZ(ptr) msvcirt.?sync at filebuf@@UEAAHXZ
-@ stub -arch=win32 ?sync at istream@@QAEHXZ
-@ stub -arch=win64 ?sync at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?sync at istream@@QAEHXZ(ptr) msvcirt.?sync at istream@@QAEHXZ
+@ cdecl -arch=win64 ?sync at istream@@QEAAHXZ(ptr) msvcirt.?sync at istream@@QEAAHXZ
@ thiscall -arch=win32 ?sync at stdiobuf@@UAEHXZ(ptr) msvcirt.?sync at stdiobuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at stdiobuf@@UEAAHXZ(ptr) msvcirt.?sync at stdiobuf@@UEAAHXZ
@ thiscall -arch=win32 ?sync at streambuf@@UAEHXZ(ptr) msvcirt.?sync at streambuf@@UAEHXZ
@@ -720,8 +720,8 @@
@ thiscall -arch=win32 ?sync at strstreambuf@@UAEHXZ(ptr) msvcirt.?sync at strstreambuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at strstreambuf@@UEAAHXZ(ptr) msvcirt.?sync at strstreambuf@@UEAAHXZ
@ cdecl ?sync_with_stdio at ios@@SAXXZ() msvcirt.?sync_with_stdio at ios@@SAXXZ
-@ stub -arch=win32 ?tellg at istream@@QAEJXZ
-@ stub -arch=win64 ?tellg at istream@@QEAAJXZ
+@ thiscall -arch=win32 ?tellg at istream@@QAEJXZ(ptr) msvcirt.?tellg at istream@@QAEJXZ
+@ cdecl -arch=win64 ?tellg at istream@@QEAAJXZ(ptr) msvcirt.?tellg at istream@@QEAAJXZ
@ thiscall -arch=win32 ?tellp at ostream@@QAEJXZ(ptr) msvcirt.?tellp at ostream@@QAEJXZ
@ cdecl -arch=win64 ?tellp at ostream@@QEAAJXZ(ptr) msvcirt.?tellp at ostream@@QEAAJXZ
@ cdecl ?terminate@@YAXXZ() msvcrt.?terminate@@YAXXZ
@@ -762,8 +762,8 @@
@ cdecl -arch=win64 ?write at ostream@@QEAAAEAV1 at PEBEH@Z(ptr str long) msvcirt.?write at ostream@@QEAAAEAV1 at PEBEH@Z
@ thiscall -arch=win32 ?writepad at ostream@@AAEAAV1 at PBD0@Z(ptr str str) msvcirt.?writepad at ostream@@AAEAAV1 at PBD0@Z
@ cdecl -arch=win64 ?writepad at ostream@@AEAAAEAV1 at PEBD0@Z(ptr str str) msvcirt.?writepad at ostream@@AEAAAEAV1 at PEBD0@Z
-@ stub -arch=win32 ?ws@@YAAAVistream@@AAV1@@Z
-@ stub -arch=win64 ?ws@@YAAEAVistream@@AEAV1@@Z
+@ cdecl -arch=win32 ?ws@@YAAAVistream@@AAV1@@Z(ptr) msvcirt.?ws@@YAAAVistream@@AAV1@@Z
+@ cdecl -arch=win64 ?ws@@YAAEAVistream@@AEAV1@@Z(ptr) msvcirt.?ws@@YAAEAVistream@@AEAV1@@Z
@ extern ?x_curindex at ios@@0HA msvcirt.?x_curindex at ios@@0HA
@ extern ?x_lockc at ios@@0U_CRT_CRITICAL_SECTION@@A msvcirt.?x_lockc at ios@@0U_CRT_CRITICAL_SECTION@@A
@ extern ?x_maxbit at ios@@0JA msvcirt.?x_maxbit at ios@@0JA
diff --git a/dlls/msvcrt40/msvcrt40.spec b/dlls/msvcrt40/msvcrt40.spec
index 6aa92ee..ad49412 100644
--- a/dlls/msvcrt40/msvcrt40.spec
+++ b/dlls/msvcrt40/msvcrt40.spec
@@ -60,12 +60,12 @@
@ stub -arch=win64 ??0iostream@@IEAA at XZ
@ stub -arch=win32 ??0iostream@@QAE at PAVstreambuf@@@Z
@ stub -arch=win64 ??0iostream@@QEAA at PEAVstreambuf@@@Z
-@ stub -arch=win32 ??0istream@@IAE at ABV0@@Z
-@ stub -arch=win64 ??0istream@@IEAA at AEBV0@@Z
-@ stub -arch=win32 ??0istream@@IAE at XZ
-@ stub -arch=win64 ??0istream@@IEAA at XZ
-@ stub -arch=win32 ??0istream@@QAE at PAVstreambuf@@@Z
-@ stub -arch=win64 ??0istream@@QEAA at PEAVstreambuf@@@Z
+@ thiscall -arch=win32 ??0istream@@IAE at ABV0@@Z(ptr ptr long) msvcirt.??0istream@@IAE at ABV0@@Z
+@ cdecl -arch=win64 ??0istream@@IEAA at AEBV0@@Z(ptr ptr long) msvcirt.??0istream@@IEAA at AEBV0@@Z
+@ thiscall -arch=win32 ??0istream@@IAE at XZ(ptr long) msvcirt.??0istream@@IAE at XZ
+@ cdecl -arch=win64 ??0istream@@IEAA at XZ(ptr long) msvcirt.??0istream@@IEAA at XZ
+@ thiscall -arch=win32 ??0istream@@QAE at PAVstreambuf@@@Z(ptr ptr long) msvcirt.??0istream@@QAE at PAVstreambuf@@@Z
+@ cdecl -arch=win64 ??0istream@@QEAA at PEAVstreambuf@@@Z(ptr ptr long) msvcirt.??0istream@@QEAA at PEAVstreambuf@@@Z
@ stub -arch=win32 ??0istream_withassign@@QAE at ABV0@@Z
@ stub -arch=win64 ??0istream_withassign@@QEAA at AEBV0@@Z
@ stub -arch=win32 ??0istream_withassign@@QAE at PAVstreambuf@@@Z
@@ -160,8 +160,8 @@
@ cdecl -arch=win64 ??1ios@@UEAA at XZ(ptr) msvcirt.??1ios@@UEAA at XZ
@ stub -arch=win32 ??1iostream@@UAE at XZ
@ stub -arch=win64 ??1iostream@@UEAA at XZ
-@ stub -arch=win32 ??1istream@@UAE at XZ
-@ stub -arch=win64 ??1istream@@UEAA at XZ
+@ thiscall -arch=win32 ??1istream@@UAE at XZ(ptr) msvcirt.??1istream@@UAE at XZ
+@ cdecl -arch=win64 ??1istream@@UEAA at XZ(ptr) msvcirt.??1istream@@UEAA at XZ
@ stub -arch=win32 ??1istream_withassign@@UAE at XZ
@ stub -arch=win64 ??1istream_withassign@@UEAA at XZ
@ stub -arch=win32 ??1istrstream@@UAE at XZ
@@ -214,10 +214,10 @@
@ stub -arch=win64 ??4iostream@@IEAAAEAV0 at AEAV0@@Z
@ stub -arch=win32 ??4iostream@@IAEAAV0 at PAVstreambuf@@@Z
@ stub -arch=win64 ??4iostream@@IEAAAEAV0 at PEAVstreambuf@@@Z
-@ stub -arch=win32 ??4istream@@IAEAAV0 at ABV0@@Z
-@ stub -arch=win64 ??4istream@@IEAAAEAV0 at AEBV0@@Z
-@ stub -arch=win32 ??4istream@@IAEAAV0 at PAVstreambuf@@@Z
-@ stub -arch=win64 ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z
+@ thiscall -arch=win32 ??4istream@@IAEAAV0 at ABV0@@Z(ptr ptr) msvcirt.??4istream@@IAEAAV0 at ABV0@@Z
+@ cdecl -arch=win64 ??4istream@@IEAAAEAV0 at AEBV0@@Z(ptr ptr) msvcirt.??4istream@@IEAAAEAV0 at AEBV0@@Z
+@ thiscall -arch=win32 ??4istream@@IAEAAV0 at PAVstreambuf@@@Z(ptr ptr) msvcirt.??4istream@@IAEAAV0 at PAVstreambuf@@@Z
+@ cdecl -arch=win64 ??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z(ptr ptr) msvcirt.??4istream@@IEAAAEAV0 at PEAVstreambuf@@@Z
@ stub -arch=win32 ??4istream_withassign@@QAEAAV0 at ABV0@@Z
@ stub -arch=win64 ??4istream_withassign@@QEAAAEAV0 at AEBV0@@Z
@ stub -arch=win32 ??4istream_withassign@@QAEAAVistream@@ABV1@@Z
@@ -343,7 +343,7 @@
# @ extern ??_7ifstream@@6B@
@ extern ??_7ios@@6B@ msvcirt.??_7ios@@6B@
# @ extern ??_7iostream@@6B@
-# @ extern ??_7istream@@6B@
+@ extern ??_7istream@@6B@ msvcirt.??_7istream@@6B@
# @ extern ??_7istream_withassign@@6B@
# @ extern ??_7istrstream@@6B@
@ extern ??_7logic_error@@6B@ msvcirt.??_7logic_error@@6B@
@@ -361,7 +361,7 @@
# @ extern ??_8ifstream@@7B@
# @ extern ??_8iostream@@7Bistream@@@
# @ extern ??_8iostream@@7Bostream@@@
-# @ extern ??_8istream@@7B@
+@ extern ??_8istream@@7B@ msvcirt.??_8istream@@7B@
# @ extern ??_8istream_withassign@@7B@
# @ extern ??_8istrstream@@7B@
# @ extern ??_8ofstream@@7B@
@@ -378,8 +378,8 @@
@ stub -arch=win64 ??_Difstream@@QEAAXXZ
@ stub -arch=win32 ??_Diostream@@QAEXXZ
@ stub -arch=win64 ??_Diostream@@QEAAXXZ
-@ stub -arch=win32 ??_Distream@@QAEXXZ
-@ stub -arch=win64 ??_Distream@@QEAAXXZ
+@ thiscall -arch=win32 ??_Distream@@QAEXXZ(ptr) msvcirt.??_Distream@@QAEXXZ
+@ cdecl -arch=win64 ??_Distream@@QEAAXXZ(ptr) msvcirt.??_Distream@@QEAAXXZ
@ stub -arch=win32 ??_Distream_withassign@@QAEXXZ
@ stub -arch=win64 ??_Distream_withassign@@QEAAXXZ
@ stub -arch=win32 ??_Distrstream@@QAEXXZ
@@ -406,7 +406,7 @@
@ stub -arch=win32 ??_Eifstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Eios@@UAEPAXI at Z(ptr long) msvcirt.??_Eios@@UAEPAXI at Z
@ stub -arch=win32 ??_Eiostream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Eistream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Eistream@@UAEPAXI at Z(ptr long) msvcirt.??_Eistream@@UAEPAXI at Z
@ stub -arch=win32 ??_Eistream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Eistrstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Elogic_error@@UAEPAXI at Z(ptr long) msvcirt.??_Elogic_error@@UAEPAXI at Z
@@ -429,7 +429,7 @@
@ stub -arch=win32 ??_Gifstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Gios@@UAEPAXI at Z(ptr long) msvcirt.??_Gios@@UAEPAXI at Z
@ stub -arch=win32 ??_Giostream@@UAEPAXI at Z
-@ stub -arch=win32 ??_Gistream@@UAEPAXI at Z
+@ thiscall -arch=win32 ??_Gistream@@UAEPAXI at Z(ptr long) msvcirt.??_Gistream@@UAEPAXI at Z
@ stub -arch=win32 ??_Gistream_withassign@@UAEPAXI at Z
@ stub -arch=win32 ??_Gistrstream@@UAEPAXI at Z
@ thiscall -arch=win32 ??_Glogic_error@@UAEPAXI at Z(ptr long) msvcirt.??_Glogic_error@@UAEPAXI at Z
@@ -502,8 +502,8 @@
@ cdecl -arch=win64 ?doallocate at streambuf@@MEAAHXZ(ptr) msvcirt.?doallocate at streambuf@@MEAAHXZ
@ thiscall -arch=win32 ?doallocate at strstreambuf@@MAEHXZ(ptr) msvcirt.?doallocate at strstreambuf@@MAEHXZ
@ cdecl -arch=win64 ?doallocate at strstreambuf@@MEAAHXZ(ptr) msvcirt.?doallocate at strstreambuf@@MEAAHXZ
-@ stub -arch=win32 ?eatwhite at istream@@QAEXXZ
-@ stub -arch=win64 ?eatwhite at istream@@QEAAXXZ
+@ thiscall -arch=win32 ?eatwhite at istream@@QAEXXZ(ptr) msvcirt.?eatwhite at istream@@QAEXXZ
+@ cdecl -arch=win64 ?eatwhite at istream@@QEAAXXZ(ptr) msvcirt.?eatwhite at istream@@QEAAXXZ
@ thiscall -arch=win32 ?eback at streambuf@@IBEPADXZ(ptr) msvcirt.?eback at streambuf@@IBEPADXZ
@ cdecl -arch=win64 ?eback at streambuf@@IEBAPEADXZ(ptr) msvcirt.?eback at streambuf@@IEBAPEADXZ
@ thiscall -arch=win32 ?ebuf at streambuf@@IBEPADXZ(ptr) msvcirt.?ebuf at streambuf@@IBEPADXZ
@@ -546,50 +546,50 @@
@ cdecl -arch=win64 ?freeze at strstreambuf@@QEAAXH at Z(ptr long) msvcirt.?freeze at strstreambuf@@QEAAXH at Z
@ thiscall -arch=win32 ?gbump at streambuf@@IAEXH at Z(ptr long) msvcirt.?gbump at streambuf@@IAEXH at Z
@ cdecl -arch=win64 ?gbump at streambuf@@IEAAXH at Z(ptr long) msvcirt.?gbump at streambuf@@IEAAXH at Z
-@ stub -arch=win32 ?gcount at istream@@QBEHXZ
-@ stub -arch=win64 ?gcount at istream@@QEBAHXZ
-@ stub -arch=win32 ?get at istream@@IAEAAV1 at PADHH@Z
-@ stub -arch=win64 ?get at istream@@IEAAAEAV1 at PEADHH@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAC@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAC@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAE@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAE@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PACHD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEACHD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PADHD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEADHD@Z
-@ stub -arch=win32 ?get at istream@@QAEAAV1 at PAEHD@Z
-@ stub -arch=win64 ?get at istream@@QEAAAEAV1 at PEAEHD@Z
-@ stub -arch=win32 ?get at istream@@QAEHXZ
-@ stub -arch=win64 ?get at istream@@QEAAHXZ
-@ stub -arch=win32 ?getdouble at istream@@AAEHPADH at Z
-@ stub -arch=win64 ?getdouble at istream@@AEAAHPEADH at Z
-@ stub -arch=win32 ?getint at istream@@AAEHPAD at Z
-@ stub -arch=win64 ?getint at istream@@AEAAHPEAD at Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PACHD@Z
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEACHD@Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PADHD@Z
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEADHD@Z
-@ stub -arch=win32 ?getline at istream@@QAEAAV1 at PAEHD@Z
-@ stub -arch=win64 ?getline at istream@@QEAAAEAV1 at PEAEHD@Z
+@ thiscall -arch=win32 ?gcount at istream@@QBEHXZ(ptr) msvcirt.?gcount at istream@@QBEHXZ
+@ cdecl -arch=win64 ?gcount at istream@@QEBAHXZ(ptr) msvcirt.?gcount at istream@@QEBAHXZ
+@ thiscall -arch=win32 ?get at istream@@IAEAAV1 at PADHH@Z(ptr ptr long long) msvcirt.?get at istream@@IAEAAV1 at PADHH@Z
+@ cdecl -arch=win64 ?get at istream@@IEAAAEAV1 at PEADHH@Z(ptr ptr long long) msvcirt.?get at istream@@IEAAAEAV1 at PEADHH@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAC@Z(ptr ptr) msvcirt.?get at istream@@QAEAAV1 at AAC@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAC@Z(ptr ptr) msvcirt.?get at istream@@QEAAAEAV1 at AEAC@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAD@Z(ptr ptr) msvcirt.?get at istream@@QAEAAV1 at AAD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAD@Z(ptr ptr) msvcirt.?get at istream@@QEAAAEAV1 at AEAD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAE@Z(ptr ptr) msvcirt.?get at istream@@QAEAAV1 at AAE@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAE@Z(ptr ptr) msvcirt.?get at istream@@QEAAAEAV1 at AEAE@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z(ptr ptr long) msvcirt.?get at istream@@QAEAAV1 at AAVstreambuf@@D at Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z(ptr ptr long) msvcirt.?get at istream@@QEAAAEAV1 at AEAVstreambuf@@D at Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PACHD@Z(ptr ptr long long) msvcirt.?get at istream@@QAEAAV1 at PACHD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEACHD@Z(ptr ptr long long) msvcirt.?get at istream@@QEAAAEAV1 at PEACHD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PADHD@Z(ptr ptr long long) msvcirt.?get at istream@@QAEAAV1 at PADHD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEADHD@Z(ptr ptr long long) msvcirt.?get at istream@@QEAAAEAV1 at PEADHD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEAAV1 at PAEHD@Z(ptr ptr long long) msvcirt.?get at istream@@QAEAAV1 at PAEHD@Z
+@ cdecl -arch=win64 ?get at istream@@QEAAAEAV1 at PEAEHD@Z(ptr ptr long long) msvcirt.?get at istream@@QEAAAEAV1 at PEAEHD@Z
+@ thiscall -arch=win32 ?get at istream@@QAEHXZ(ptr) msvcirt.?get at istream@@QAEHXZ
+@ cdecl -arch=win64 ?get at istream@@QEAAHXZ(ptr) msvcirt.?get at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?getdouble at istream@@AAEHPADH at Z(ptr ptr long) msvcirt.?getdouble at istream@@AAEHPADH at Z
+@ cdecl -arch=win64 ?getdouble at istream@@AEAAHPEADH at Z(ptr ptr long) msvcirt.?getdouble at istream@@AEAAHPEADH at Z
+@ thiscall -arch=win32 ?getint at istream@@AAEHPAD at Z(ptr ptr) msvcirt.?getint at istream@@AAEHPAD at Z
+@ cdecl -arch=win64 ?getint at istream@@AEAAHPEAD at Z(ptr ptr) msvcirt.?getint at istream@@AEAAHPEAD at Z
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PACHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QAEAAV1 at PACHD@Z
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEACHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QEAAAEAV1 at PEACHD@Z
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PADHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QAEAAV1 at PADHD@Z
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEADHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QEAAAEAV1 at PEADHD@Z
+@ thiscall -arch=win32 ?getline at istream@@QAEAAV1 at PAEHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QAEAAV1 at PAEHD@Z
+@ cdecl -arch=win64 ?getline at istream@@QEAAAEAV1 at PEAEHD@Z(ptr ptr long long) msvcirt.?getline at istream@@QEAAAEAV1 at PEAEHD@Z
@ thiscall -arch=win32 ?good at ios@@QBEHXZ(ptr) msvcirt.?good at ios@@QBEHXZ
@ cdecl -arch=win64 ?good at ios@@QEBAHXZ(ptr) msvcirt.?good at ios@@QEBAHXZ
@ thiscall -arch=win32 ?gptr at streambuf@@IBEPADXZ(ptr) msvcirt.?gptr at streambuf@@IBEPADXZ
@ cdecl -arch=win64 ?gptr at streambuf@@IEBAPEADXZ(ptr) msvcirt.?gptr at streambuf@@IEBAPEADXZ
@ cdecl -arch=win32 ?hex@@YAAAVios@@AAV1@@Z(ptr) msvcirt.?hex@@YAAAVios@@AAV1@@Z
@ cdecl -arch=win64 ?hex@@YAAEAVios@@AEAV1@@Z(ptr) msvcirt.?hex@@YAAEAVios@@AEAV1@@Z
-@ stub -arch=win32 ?ignore at istream@@QAEAAV1 at HH@Z
-@ stub -arch=win64 ?ignore at istream@@QEAAAEAV1 at HH@Z
+@ thiscall -arch=win32 ?ignore at istream@@QAEAAV1 at HH@Z(ptr long long) msvcirt.?ignore at istream@@QAEAAV1 at HH@Z
+@ cdecl -arch=win64 ?ignore at istream@@QEAAAEAV1 at HH@Z(ptr long long) msvcirt.?ignore at istream@@QEAAAEAV1 at HH@Z
@ thiscall -arch=win32 ?in_avail at streambuf@@QBEHXZ(ptr) msvcirt.?in_avail at streambuf@@QBEHXZ
@ cdecl -arch=win64 ?in_avail at streambuf@@QEBAHXZ(ptr) msvcirt.?in_avail at streambuf@@QEBAHXZ
@ thiscall -arch=win32 ?init at ios@@IAEXPAVstreambuf@@@Z(ptr ptr) msvcirt.?init at ios@@IAEXPAVstreambuf@@@Z
@ cdecl -arch=win64 ?init at ios@@IEAAXPEAVstreambuf@@@Z(ptr ptr) msvcirt.?init at ios@@IEAAXPEAVstreambuf@@@Z
-@ stub -arch=win32 ?ipfx at istream@@QAEHH at Z
-@ stub -arch=win64 ?ipfx at istream@@QEAAHH at Z
+@ thiscall -arch=win32 ?ipfx at istream@@QAEHH at Z(ptr long) msvcirt.?ipfx at istream@@QAEHH at Z
+@ cdecl -arch=win64 ?ipfx at istream@@QEAAHH at Z(ptr long) msvcirt.?ipfx at istream@@QEAAHH at Z
@ thiscall -arch=win32 ?is_open at filebuf@@QBEHXZ(ptr) msvcirt.?is_open at filebuf@@QBEHXZ
@ cdecl -arch=win64 ?is_open at filebuf@@QEBAHXZ(ptr) msvcirt.?is_open at filebuf@@QEBAHXZ
@ stub -arch=win32 ?is_open at fstream@@QBEHXZ
@@ -598,8 +598,8 @@
@ stub -arch=win64 ?is_open at ifstream@@QEBAHXZ
@ stub -arch=win32 ?is_open at ofstream@@QBEHXZ
@ stub -arch=win64 ?is_open at ofstream@@QEBAHXZ
-@ stub -arch=win32 ?isfx at istream@@QAEXXZ
-@ stub -arch=win64 ?isfx at istream@@QEAAXXZ
+@ thiscall -arch=win32 ?isfx at istream@@QAEXXZ(ptr) msvcirt.?isfx at istream@@QAEXXZ
+@ cdecl -arch=win64 ?isfx at istream@@QEAAXXZ(ptr) msvcirt.?isfx at istream@@QEAAXXZ
@ thiscall -arch=win32 ?iword at ios@@QBEAAJH at Z(ptr long) msvcirt.?iword at ios@@QBEAAJH at Z
@ cdecl -arch=win64 ?iword at ios@@QEBAAEAJH at Z(ptr long) msvcirt.?iword at ios@@QEBAAEAJH at Z
@ cdecl -arch=win32 ?lock at ios@@QAAXXZ(ptr) msvcirt.?lock at ios@@QAAXXZ
@@ -650,8 +650,8 @@
@ stub -arch=win64 ?pcount at ostrstream@@QEBAHXZ
@ stub -arch=win32 ?pcount at strstream@@QBEHXZ
@ stub -arch=win64 ?pcount at strstream@@QEBAHXZ
-@ stub -arch=win32 ?peek at istream@@QAEHXZ
-@ stub -arch=win64 ?peek at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?peek at istream@@QAEHXZ(ptr) msvcirt.?peek at istream@@QAEHXZ
+@ cdecl -arch=win64 ?peek at istream@@QEAAHXZ(ptr) msvcirt.?peek at istream@@QEAAHXZ
@ thiscall -arch=win32 ?pptr at streambuf@@IBEPADXZ(ptr) msvcirt.?pptr at streambuf@@IBEPADXZ
@ cdecl -arch=win64 ?pptr at streambuf@@IEBAPEADXZ(ptr) msvcirt.?pptr at streambuf@@IEBAPEADXZ
@ thiscall -arch=win32 ?precision at ios@@QAEHH at Z(ptr long) msvcirt.?precision at ios@@QAEHH at Z
@@ -664,8 +664,8 @@
@ cdecl -arch=win64 ?put at ostream@@QEAAAEAV1 at D@Z(ptr long) msvcirt.?put at ostream@@QEAAAEAV1 at D@Z
@ thiscall -arch=win32 ?put at ostream@@QAEAAV1 at E@Z(ptr long) msvcirt.?put at ostream@@QAEAAV1 at E@Z
@ cdecl -arch=win64 ?put at ostream@@QEAAAEAV1 at E@Z(ptr long) msvcirt.?put at ostream@@QEAAAEAV1 at E@Z
-@ stub -arch=win32 ?putback at istream@@QAEAAV1 at D@Z
-@ stub -arch=win64 ?putback at istream@@QEAAAEAV1 at D@Z
+@ thiscall -arch=win32 ?putback at istream@@QAEAAV1 at D@Z(ptr long) msvcirt.?putback at istream@@QAEAAV1 at D@Z
+@ cdecl -arch=win64 ?putback at istream@@QEAAAEAV1 at D@Z(ptr long) msvcirt.?putback at istream@@QEAAAEAV1 at D@Z
@ thiscall -arch=win32 ?pword at ios@@QBEAAPAXH at Z(ptr long) msvcirt.?pword at ios@@QBEAAPAXH at Z
@ cdecl -arch=win64 ?pword at ios@@QEBAAEAPEAXH at Z(ptr long) msvcirt.?pword at ios@@QEBAAEAPEAXH at Z
@ thiscall -arch=i386 ?raw_name at type_info@@QBEPBDXZ(ptr) msvcrt.?raw_name at type_info@@QBEPBDXZ
@@ -688,18 +688,18 @@
@ stub -arch=win64 ?rdbuf at strstream@@QEBAPEAVstrstreambuf@@XZ
@ thiscall -arch=win32 ?rdstate at ios@@QBEHXZ(ptr) msvcirt.?rdstate at ios@@QBEHXZ
@ cdecl -arch=win64 ?rdstate at ios@@QEBAHXZ(ptr) msvcirt.?rdstate at ios@@QEBAHXZ
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PACH@Z
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEACH@Z
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PADH@Z
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEADH@Z
-@ stub -arch=win32 ?read at istream@@QAEAAV1 at PAEH@Z
-@ stub -arch=win64 ?read at istream@@QEAAAEAV1 at PEAEH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PACH@Z(ptr ptr long) msvcirt.?read at istream@@QAEAAV1 at PACH@Z
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEACH@Z(ptr ptr long) msvcirt.?read at istream@@QEAAAEAV1 at PEACH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PADH@Z(ptr ptr long) msvcirt.?read at istream@@QAEAAV1 at PADH@Z
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEADH@Z(ptr ptr long) msvcirt.?read at istream@@QEAAAEAV1 at PEADH@Z
+@ thiscall -arch=win32 ?read at istream@@QAEAAV1 at PAEH@Z(ptr ptr long) msvcirt.?read at istream@@QAEAAV1 at PAEH@Z
+@ cdecl -arch=win64 ?read at istream@@QEAAAEAV1 at PEAEH@Z(ptr ptr long) msvcirt.?read at istream@@QEAAAEAV1 at PEAEH@Z
@ thiscall -arch=win32 ?sbumpc at streambuf@@QAEHXZ(ptr) msvcirt.?sbumpc at streambuf@@QAEHXZ
@ cdecl -arch=win64 ?sbumpc at streambuf@@QEAAHXZ(ptr) msvcirt.?sbumpc at streambuf@@QEAAHXZ
-@ stub -arch=win32 ?seekg at istream@@QAEAAV1 at J@Z
-@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at J@Z
-@ stub -arch=win32 ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z
-@ stub -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
+@ thiscall -arch=win32 ?seekg at istream@@QAEAAV1 at J@Z(ptr long) msvcirt.?seekg at istream@@QAEAAV1 at J@Z
+@ cdecl -arch=win64 ?seekg at istream@@QEAAAEAV1 at J@Z(ptr long) msvcirt.?seekg at istream@@QEAAAEAV1 at J@Z
+@ thiscall -arch=win32 ?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z(ptr ptr long) msvcirt.?seekg at istream@@QAEAAV1 at JW4seek_dir@ios@@@Z
+@ cdecl -arch=win64 ?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z(ptr ptr long) msvcirt.?seekg at istream@@QEAAAEAV1 at JW4seek_dir@ios@@@Z
@ thiscall -arch=win32 ?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UAEJJW4seek_dir at ios@@H at Z
@ cdecl -arch=win64 ?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at filebuf@@UEAAJJW4seek_dir at ios@@H at Z
@ thiscall -arch=win32 ?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z(ptr long long long) msvcirt.?seekoff at stdiobuf@@UAEJJW4seek_dir at ios@@H at Z
@@ -783,8 +783,8 @@
# @ extern ?sunk_with_stdio at ios@@0HA
@ thiscall -arch=win32 ?sync at filebuf@@UAEHXZ(ptr) msvcirt.?sync at filebuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at filebuf@@UEAAHXZ(ptr) msvcirt.?sync at filebuf@@UEAAHXZ
-@ stub -arch=win32 ?sync at istream@@QAEHXZ
-@ stub -arch=win64 ?sync at istream@@QEAAHXZ
+@ thiscall -arch=win32 ?sync at istream@@QAEHXZ(ptr) msvcirt.?sync at istream@@QAEHXZ
+@ cdecl -arch=win64 ?sync at istream@@QEAAHXZ(ptr) msvcirt.?sync at istream@@QEAAHXZ
@ thiscall -arch=win32 ?sync at stdiobuf@@UAEHXZ(ptr) msvcirt.?sync at stdiobuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at stdiobuf@@UEAAHXZ(ptr) msvcirt.?sync at stdiobuf@@UEAAHXZ
@ thiscall -arch=win32 ?sync at streambuf@@UAEHXZ(ptr) msvcirt.?sync at streambuf@@UAEHXZ
@@ -792,8 +792,8 @@
@ thiscall -arch=win32 ?sync at strstreambuf@@UAEHXZ(ptr) msvcirt.?sync at strstreambuf@@UAEHXZ
@ cdecl -arch=win64 ?sync at strstreambuf@@UEAAHXZ(ptr) msvcirt.?sync at strstreambuf@@UEAAHXZ
@ cdecl ?sync_with_stdio at ios@@SAXXZ() msvcirt.?sync_with_stdio at ios@@SAXXZ
-@ stub -arch=win32 ?tellg at istream@@QAEJXZ
-@ stub -arch=win64 ?tellg at istream@@QEAAJXZ
+@ thiscall -arch=win32 ?tellg at istream@@QAEJXZ(ptr) msvcirt.?tellg at istream@@QAEJXZ
+@ cdecl -arch=win64 ?tellg at istream@@QEAAJXZ(ptr) msvcirt.?tellg at istream@@QEAAJXZ
@ thiscall -arch=win32 ?tellp at ostream@@QAEJXZ(ptr) msvcirt.?tellp at ostream@@QAEJXZ
@ cdecl -arch=win64 ?tellp at ostream@@QEAAJXZ(ptr) msvcirt.?tellp at ostream@@QEAAJXZ
@ cdecl ?terminate@@YAXXZ() msvcrt.?terminate@@YAXXZ
@@ -836,8 +836,8 @@
@ cdecl -arch=win64 ?write at ostream@@QEAAAEAV1 at PEBEH@Z(ptr str long) msvcirt.?write at ostream@@QEAAAEAV1 at PEBEH@Z
@ thiscall -arch=win32 ?writepad at ostream@@AAEAAV1 at PBD0@Z(ptr str str) msvcirt.?writepad at ostream@@AAEAAV1 at PBD0@Z
@ cdecl -arch=win64 ?writepad at ostream@@AEAAAEAV1 at PEBD0@Z(ptr str str) msvcirt.?writepad at ostream@@AEAAAEAV1 at PEBD0@Z
-@ stub -arch=win32 ?ws@@YAAAVistream@@AAV1@@Z
-@ stub -arch=win64 ?ws@@YAAEAVistream@@AEAV1@@Z
+@ cdecl -arch=win32 ?ws@@YAAAVistream@@AAV1@@Z(ptr) msvcirt.?ws@@YAAAVistream@@AAV1@@Z
+@ cdecl -arch=win64 ?ws@@YAAEAVistream@@AEAV1@@Z(ptr) msvcirt.?ws@@YAAEAVistream@@AEAV1@@Z
@ extern ?x_curindex at ios@@0HA msvcirt.?x_curindex at ios@@0HA
@ extern ?x_lockc at ios@@0U_CRT_CRITICAL_SECTION@@A msvcirt.?x_lockc at ios@@0U_CRT_CRITICAL_SECTION@@A
@ extern ?x_maxbit at ios@@0JA msvcirt.?x_maxbit at ios@@0JA
--
2.7.4
More information about the wine-patches
mailing list