msi/tests: Reduce code duplication in the feature/component state tests.
[wine/multimedia.git] / dlls / msvcp90 / ios.c
blobbc61235649a2d387a2b0b93c5dd089b63fcf745b
1 /*
2 * Copyright 2011 Piotr Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #include "config.h"
21 #include <stdarg.h>
22 #include <stdio.h>
24 #include "msvcp90.h"
25 #include "windef.h"
26 #include "winbase.h"
27 #include "wine/debug.h"
28 WINE_DEFAULT_DEBUG_CHANNEL(msvcp90);
30 typedef enum {
31 IOSTATE_goodbit = 0x00,
32 IOSTATE_eofbit = 0x01,
33 IOSTATE_failbit = 0x02,
34 IOSTATE_badbit = 0x04,
35 IOSTATE__Hardfail = 0x10
36 } IOSB_iostate;
38 typedef enum {
39 FMTFLAG_skipws = 0x0001,
40 FMTFLAG_unitbuf = 0x0002,
41 FMTFLAG_uppercase = 0x0004,
42 FMTFLAG_showbase = 0x0008,
43 FMTFLAG_showpoint = 0x0010,
44 FMTFLAG_showpos = 0x0020,
45 FMTFLAG_left = 0x0040,
46 FMTFLAG_right = 0x0080,
47 FMTFLAG_internal = 0x0100,
48 FMTFLAG_dec = 0x0200,
49 FMTFLAG_oct = 0x0400,
50 FMTFLAG_hex = 0x0800,
51 FMTFLAG_scientific = 0x1000,
52 FMTFLAG_fixed = 0x2000,
53 FMTFLAG_hexfloat = 0x3000,
54 FMTFLAG_boolalpha = 0x4000,
55 FMTFLAG_stdio = 0x8000,
56 FMTFLAG_adjustfield = FMTFLAG_left|FMTFLAG_right|FMTFLAG_internal,
57 FMTFLAG_basefield = FMTFLAG_dec|FMTFLAG_oct|FMTFLAG_hex,
58 FMTFLAG_floadfield = FMTFLAG_scientific|FMTFLAG_fixed
59 } IOSB_fmtflags;
61 typedef struct _iosarray {
62 struct _iosarray *next;
63 int index;
64 int long_val;
65 void *ptr_val;
66 } IOS_BASE_iosarray;
68 typedef enum {
69 EVENT_erase_event,
70 EVENT_imbue_event,
71 EVENT_copyfmt_event
72 } IOS_BASE_event;
74 struct _ios_base;
75 typedef void (CDECL *IOS_BASE_event_callback)(IOS_BASE_event, struct _ios_base*, int);
76 typedef struct _fnarray {
77 struct _fnarray *next;
78 int index;
79 IOS_BASE_event_callback event_handler;
80 } IOS_BASE_fnarray;
82 /* ?_Index@ios_base@std@@0HA */
83 int ios_base_Index = 0;
84 /* ?_Sync@ios_base@std@@0_NA */
85 MSVCP_bool ios_base_Sync = FALSE;
87 typedef struct _ios_base {
88 const vtable_ptr *vtable;
89 MSVCP_size_t stdstr;
90 IOSB_iostate state;
91 IOSB_iostate except;
92 IOSB_fmtflags fmtfl;
93 MSVCP_size_t prec;
94 MSVCP_size_t wide;
95 IOS_BASE_iosarray *arr;
96 IOS_BASE_fnarray *calls;
97 locale *loc;
98 } ios_base;
100 typedef struct {
101 streamoff off;
102 __int64 DECLSPEC_ALIGN(8) pos;
103 int state;
104 } fpos_int;
106 static inline const char* debugstr_fpos_int(fpos_int *fpos)
108 return wine_dbg_sprintf("fpos(%lu %s %d)", fpos->off, wine_dbgstr_longlong(fpos->pos), fpos->state);
111 typedef struct {
112 const vtable_ptr *vtable;
113 mutex lock;
114 char *rbuf;
115 char *wbuf;
116 char **prbuf;
117 char **pwbuf;
118 char *rpos;
119 char *wpos;
120 char **prpos;
121 char **pwpos;
122 int rsize;
123 int wsize;
124 int *prsize;
125 int *pwsize;
126 locale *loc;
127 } basic_streambuf_char;
129 typedef struct {
130 const vtable_ptr *vtable;
131 mutex lock;
132 wchar_t *rbuf;
133 wchar_t *wbuf;
134 wchar_t **prbuf;
135 wchar_t **pwbuf;
136 wchar_t *rpos;
137 wchar_t *wpos;
138 wchar_t **prpos;
139 wchar_t **pwpos;
140 int rsize;
141 int wsize;
142 int *prsize;
143 int *pwsize;
144 locale *loc;
145 } basic_streambuf_wchar;
147 typedef struct {
148 ios_base child;
149 basic_streambuf_char *strbuf;
150 struct basic_ostream_char *stream;
151 char fillch;
152 } basic_ios_char;
154 typedef struct {
155 ios_base child;
156 /*basic_streambuf_wchar*/void *strbuf;
157 /*basic_ostream_wchar*/void *stream;
158 char fillch;
159 } basic_ios_wchar;
161 typedef struct {
162 const vtable_ptr *vtable;
163 basic_ios_char child;
164 } basic_ostream_char;
166 extern const vtable_ptr MSVCP_iosb_vtable;
168 /* ??_7ios_base@std@@6B@ */
169 extern const vtable_ptr MSVCP_ios_base_vtable;
171 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
172 extern const vtable_ptr MSVCP_basic_ios_char_vtable;
174 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
175 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable;
177 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
178 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable;
180 /* ??_7?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@6B@ */
181 extern const vtable_ptr MSVCP_basic_streambuf_wchar_vtable;
183 /* ??_7?$basic_streambuf@GU?$char_traits@G@std@@@std@@6B@ */
184 extern const vtable_ptr MSVCP_basic_streambuf_short_vtable;
186 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
187 extern const vtable_ptr MSVCP_basic_ostream_char_vtable;
189 DEFINE_RTTI_DATA(iosb, 0, 0, NULL, NULL, NULL, ".?AV?$_Iosb@H@std@@");
190 DEFINE_RTTI_DATA(ios_base, 0, 1, &iosb_rtti_base_descriptor, NULL, NULL, ".?AV?$_Iosb@H@std@@");
191 DEFINE_RTTI_DATA(basic_ios_char, 0, 2, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor,
192 NULL, ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
193 DEFINE_RTTI_DATA(basic_ios_wchar, 0, 2, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor,
194 NULL, ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
195 DEFINE_RTTI_DATA(basic_streambuf_char, 0, 0, NULL, NULL, NULL,
196 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
197 DEFINE_RTTI_DATA(basic_streambuf_wchar, 0, 0, NULL, NULL, NULL,
198 ".?AV?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@");
199 DEFINE_RTTI_DATA(basic_streambuf_short, 0, 0, NULL, NULL, NULL,
200 ".?AV?$basic_streambuf@GU?$char_traits@G@std@@@std@@");
201 DEFINE_RTTI_DATA(basic_ostream_char, 4, 3, &basic_ios_char_rtti_base_descriptor, &ios_base_rtti_base_descriptor,
202 &iosb_rtti_base_descriptor, ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
204 #ifndef __GNUC__
205 void __asm_dummy_vtables(void) {
206 #endif
207 __ASM_VTABLE(iosb, "");
208 __ASM_VTABLE(ios_base, "");
209 __ASM_VTABLE(basic_ios_char, "");
210 __ASM_VTABLE(basic_ios_wchar, "");
211 __ASM_VTABLE(basic_streambuf_char,
212 VTABLE_ADD_FUNC(basic_streambuf_char_overflow)
213 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail)
214 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc)
215 VTABLE_ADD_FUNC(basic_streambuf_char_underflow)
216 VTABLE_ADD_FUNC(basic_streambuf_char_uflow)
217 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn)
218 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s)
219 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn)
220 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff)
221 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos)
222 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf)
223 VTABLE_ADD_FUNC(basic_streambuf_char_sync)
224 VTABLE_ADD_FUNC(basic_streambuf_char_imbue));
225 __ASM_VTABLE(basic_streambuf_wchar,
226 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow)
227 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail)
228 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc)
229 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow)
230 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow)
231 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
232 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
233 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
234 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff)
235 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos)
236 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf)
237 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync)
238 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue));
239 __ASM_VTABLE(basic_streambuf_short,
240 VTABLE_ADD_FUNC(basic_streambuf_wchar_overflow)
241 VTABLE_ADD_FUNC(basic_streambuf_wchar_pbackfail)
242 VTABLE_ADD_FUNC(basic_streambuf_wchar_showmanyc)
243 VTABLE_ADD_FUNC(basic_streambuf_wchar_underflow)
244 VTABLE_ADD_FUNC(basic_streambuf_wchar_uflow)
245 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsgetn)
246 VTABLE_ADD_FUNC(basic_streambuf_wchar__Xsgetn_s)
247 VTABLE_ADD_FUNC(basic_streambuf_wchar_xsputn)
248 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekoff)
249 VTABLE_ADD_FUNC(basic_streambuf_wchar_seekpos)
250 VTABLE_ADD_FUNC(basic_streambuf_wchar_setbuf)
251 VTABLE_ADD_FUNC(basic_streambuf_wchar_sync)
252 VTABLE_ADD_FUNC(basic_streambuf_wchar_imbue));
253 __ASM_VTABLE(basic_ostream_char, "");
254 #ifndef __GNUC__
256 #endif
258 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
259 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
260 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next, 16)
261 void __thiscall basic_streambuf_char_setp_next(basic_streambuf_char *this, char *first, char *next, char *last)
263 TRACE("(%p %p %p %p)\n", this, first, next, last);
265 this->wbuf = first;
266 this->wpos = next;
267 this->wsize = last-next;
270 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
271 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
272 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp, 12)
273 void __thiscall basic_streambuf_char_setp(basic_streambuf_char *this, char *first, char *last)
275 basic_streambuf_char_setp_next(this, first, first, last);
278 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
279 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
280 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg, 16)
281 void __thiscall basic_streambuf_char_setg(basic_streambuf_char *this, char *first, char *next, char *last)
283 TRACE("(%p %p %p %p)\n", this, first, next, last);
285 this->rbuf = first;
286 this->rpos = next;
287 this->rsize = last-next;
290 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
291 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXXZ */
292 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty, 4)
293 void __thiscall basic_streambuf_char__Init_empty(basic_streambuf_char *this)
295 TRACE("(%p)\n", this);
297 this->prbuf = &this->rbuf;
298 this->pwbuf = &this->wbuf;
299 this->prpos = &this->rpos;
300 this->pwpos = &this->wpos;
301 this->prsize = &this->rsize;
302 this->pwsize = &this->wsize;
304 basic_streambuf_char_setp(this, NULL, NULL);
305 basic_streambuf_char_setg(this, NULL, NULL, NULL);
308 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
309 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
310 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized, 8)
311 basic_streambuf_char* __thiscall basic_streambuf_char_ctor_uninitialized(basic_streambuf_char *this, int uninitialized)
313 TRACE("(%p %d)\n", this, uninitialized);
314 this->vtable = &MSVCP_basic_streambuf_char_vtable;
315 mutex_ctor(&this->lock);
316 return this;
319 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
320 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
321 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor, 4)
322 basic_streambuf_char* __thiscall basic_streambuf_char_ctor(basic_streambuf_char *this)
324 TRACE("(%p)\n", this);
326 this->vtable = &MSVCP_basic_streambuf_char_vtable;
327 mutex_ctor(&this->lock);
328 this->loc = MSVCRT_operator_new(sizeof(locale));
329 locale_ctor(this->loc);
330 basic_streambuf_char__Init_empty(this);
332 return this;
335 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
336 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
337 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor, 4)
338 void __thiscall basic_streambuf_char_dtor(basic_streambuf_char *this)
340 TRACE("(%p)\n", this);
342 mutex_dtor(&this->lock);
343 locale_dtor(this->loc);
344 MSVCRT_operator_delete(this->loc);
347 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_char_vector_dtor, 8)
348 basic_streambuf_char* __thiscall MSVCP_basic_streambuf_char_vector_dtor(basic_streambuf_char *this, unsigned int flags)
350 TRACE("(%p %x)\n", this, flags);
351 if(flags & 2) {
352 /* we have an array, with the number of elements stored before the first object */
353 int i, *ptr = (int *)this-1;
355 for(i=*ptr-1; i>=0; i--)
356 basic_streambuf_char_dtor(this+i);
357 MSVCRT_operator_delete(ptr);
358 } else {
359 basic_streambuf_char_dtor(this);
360 if(flags & 1)
361 MSVCRT_operator_delete(this);
364 return this;
367 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
368 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
369 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail, 4)
370 streamsize __thiscall basic_streambuf_char__Gnavail(const basic_streambuf_char *this)
372 TRACE("(%p)\n", this);
373 return *this->prpos ? *this->prsize : 0;
376 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
377 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
378 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec, 4)
379 char* __thiscall basic_streambuf_char__Gndec(basic_streambuf_char *this)
381 TRACE("(%p)\n", this);
382 (*this->prsize)++;
383 (*this->prpos)--;
384 return *this->prpos;
387 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
388 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
389 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc, 4)
390 char* __thiscall basic_streambuf_char__Gninc(basic_streambuf_char *this)
392 TRACE("(%p)\n", this);
393 (*this->prsize)--;
394 return (*this->prpos)++;
397 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
398 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
399 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc, 4)
400 char* __thiscall basic_streambuf_char__Gnpreinc(basic_streambuf_char *this)
402 TRACE("(%p)\n", this);
403 (*this->prsize)--;
404 (*this->prpos)++;
405 return *this->prpos;
408 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
409 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
410 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init, 28)
411 void __thiscall basic_streambuf_char__Init(basic_streambuf_char *this, char **gf, char **gn, int *gc, char **pf, char **pn, int *pc)
413 TRACE("(%p %p %p %p %p %p %p)\n", this, gf, gn, gc, pf, pn, pc);
415 this->prbuf = gf;
416 this->pwbuf = pf;
417 this->prpos = gn;
418 this->pwpos = pn;
419 this->prsize = gc;
420 this->pwsize = pc;
423 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
424 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
425 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock, 4)
426 void __thiscall basic_streambuf_char__Lock(basic_streambuf_char *this)
428 TRACE("(%p)\n", this);
429 mutex_lock(&this->lock);
432 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
433 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
434 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail, 4)
435 streamsize __thiscall basic_streambuf_char__Pnavail(const basic_streambuf_char *this)
437 TRACE("(%p)\n", this);
438 return *this->pwpos ? *this->pwsize : 0;
441 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
442 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
443 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc, 4)
444 char* __thiscall basic_streambuf_char__Pninc(basic_streambuf_char *this)
446 TRACE("(%p)\n", this);
447 (*this->pwsize)--;
448 return (*this->pwpos)++;
451 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
452 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
453 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow, 4)
454 #define call_basic_streambuf_char_underflow(this) CALL_VTBL_FUNC(this, 16, \
455 int, (basic_streambuf_char*), (this))
456 int __thiscall basic_streambuf_char_underflow(basic_streambuf_char *this)
458 TRACE("(%p)\n", this);
459 return EOF;
462 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
463 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
464 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow, 4)
465 #define call_basic_streambuf_char_uflow(this) CALL_VTBL_FUNC(this, 20, \
466 int, (basic_streambuf_char*), (this))
467 int __thiscall basic_streambuf_char_uflow(basic_streambuf_char *this)
469 int ret;
471 TRACE("(%p)\n", this);
473 if(call_basic_streambuf_char_underflow(this)==EOF)
474 return EOF;
476 ret = **this->prpos;
477 (*this->prsize)--;
478 (*this->prpos)++;
479 return ret;
482 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
483 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
484 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s, 16)
485 #define call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
486 streamsize, (basic_streambuf_char*, char*, MSVCP_size_t, streamsize), (this, ptr, size, count))
487 streamsize __thiscall basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count)
489 streamsize copied, chunk;
491 TRACE("(%p %p %lu %lu)\n", this, ptr, size, count);
493 for(copied=0; copied<count && size;) {
494 chunk = basic_streambuf_char__Gnavail(this);
495 if(chunk > count-copied)
496 chunk = count-copied;
498 if(chunk) {
499 memcpy_s(ptr+copied, size, *this->prpos, chunk);
500 *this->prpos += chunk;
501 *this->prsize -= chunk;
502 copied += chunk;
503 size -= chunk;
504 }else if((ptr[copied] = call_basic_streambuf_char_uflow(this)) != EOF) {
505 copied++;
506 size--;
507 }else {
508 break;
512 return copied;
515 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
516 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
517 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s, 16)
518 streamsize __thiscall basic_streambuf_char__Sgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count)
520 TRACE("(%p %p %lu %lu)\n", this, ptr, size, count);
521 return call_basic_streambuf_char__Xsgetn_s(this, ptr, size, count);
524 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
525 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
526 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock, 4)
527 void __thiscall basic_streambuf_char__Unlock(basic_streambuf_char *this)
529 TRACE("(%p)\n", this);
530 mutex_unlock(&this->lock);
533 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
534 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
535 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback, 4)
536 char* __thiscall basic_streambuf_char_eback(const basic_streambuf_char *this)
538 TRACE("(%p)\n", this);
539 return *this->prbuf;
542 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
543 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
544 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr, 4)
545 char* __thiscall basic_streambuf_char_gptr(const basic_streambuf_char *this)
547 TRACE("(%p)\n", this);
548 return *this->prpos;
551 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
552 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
553 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr, 4)
554 char* __thiscall basic_streambuf_char_egptr(const basic_streambuf_char *this)
556 TRACE("(%p)\n", this);
557 return *this->prpos+*this->prsize;
560 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
561 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
562 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr, 4)
563 char* __thiscall basic_streambuf_char_epptr(const basic_streambuf_char *this)
565 TRACE("(%p)\n", this);
566 return *this->pwpos+*this->pwsize;
569 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
570 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
571 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump, 8)
572 void __thiscall basic_streambuf_char_gbump(basic_streambuf_char *this, int off)
574 TRACE("(%p %d)\n", this, off);
575 *this->prpos += off;
576 *this->prsize -= off;
579 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
580 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
581 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc, 8)
582 locale* __thiscall basic_streambuf_char_getloc(const basic_streambuf_char *this, locale *ret)
584 TRACE("(%p)\n", this);
585 return locale_copy_ctor(ret, this->loc);
588 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
589 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
590 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue, 8)
591 #define call_basic_streambuf_char_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
592 void, (basic_streambuf_char*, const locale*), (this, loc))
593 void __thiscall basic_streambuf_char_imbue(basic_streambuf_char *this, const locale *loc)
595 TRACE("(%p %p)\n", this, loc);
598 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
599 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
600 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow, 8)
601 #define call_basic_streambuf_char_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
602 int, (basic_streambuf_char*, int), (this, ch))
603 int __thiscall basic_streambuf_char_overflow(basic_streambuf_char *this, int ch)
605 TRACE("(%p %d)\n", this, ch);
606 return EOF;
609 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
610 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
611 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail, 8)
612 #define call_basic_streambuf_char_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
613 int, (basic_streambuf_char*, int), (this, ch))
614 int __thiscall basic_streambuf_char_pbackfail(basic_streambuf_char *this, int ch)
616 TRACE("(%p %d)\n", this, ch);
617 return EOF;
620 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
621 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
622 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase, 4)
623 char* __thiscall basic_streambuf_char_pbase(const basic_streambuf_char *this)
625 TRACE("(%p)\n", this);
626 return *this->pwbuf;
629 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
630 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
631 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump, 8)
632 void __thiscall basic_streambuf_char_pbump(basic_streambuf_char *this, int off)
634 TRACE("(%p %d)\n", this, off);
635 *this->pwpos += off;
636 *this->pwsize -= off;
639 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
640 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
641 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr, 4)
642 char* __thiscall basic_streambuf_char_pptr(const basic_streambuf_char *this)
644 TRACE("(%p)\n", this);
645 return *this->pwpos;
648 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
649 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
650 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue, 12)
651 locale* __thiscall basic_streambuf_char_pubimbue(basic_streambuf_char *this, locale *ret, const locale *loc)
653 TRACE("(%p %p)\n", this, loc);
654 memcpy(ret, this->loc, sizeof(locale));
655 call_basic_streambuf_char_imbue(this, loc);
656 locale_copy_ctor(this->loc, loc);
657 return ret;
660 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
661 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
662 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff, 20)
663 #define call_basic_streambuf_char_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
664 fpos_int*, (basic_streambuf_char*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
665 fpos_int* __thiscall basic_streambuf_char_seekoff(basic_streambuf_char *this,
666 fpos_int *ret, streamoff off, int way, int mode)
668 TRACE("(%p %lu %d %d)\n", this, off, way, mode);
669 ret->off = 0;
670 ret->pos = -1;
671 ret->state = 0;
672 return ret;
675 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
676 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
677 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff, 20)
678 fpos_int* __thiscall basic_streambuf_char_pubseekoff(basic_streambuf_char *this,
679 fpos_int *ret, streamoff off, int way, int mode)
681 TRACE("(%p %lu %d %d)\n", this, off, way, mode);
682 return call_basic_streambuf_char_seekoff(this, ret, off, way, mode);
685 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
686 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
687 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old, 20)
688 fpos_int* __thiscall basic_streambuf_char_pubseekoff_old(basic_streambuf_char *this,
689 fpos_int *ret, streamoff off, unsigned int way, unsigned int mode)
691 TRACE("(%p %lu %d %d)\n", this, off, way, mode);
692 return basic_streambuf_char_pubseekoff(this, ret, off, way, mode);
695 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
696 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
697 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos, 36)
698 #define call_basic_streambuf_char_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
699 fpos_int*, (basic_streambuf_char*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
700 fpos_int* __thiscall basic_streambuf_char_seekpos(basic_streambuf_char *this,
701 fpos_int *ret, fpos_int pos, int mode)
703 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos), mode);
704 ret->off = 0;
705 ret->pos = -1;
706 ret->state = 0;
707 return ret;
710 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
711 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
712 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos, 36)
713 fpos_int* __thiscall basic_streambuf_char_pubseekpos(basic_streambuf_char *this,
714 fpos_int *ret, fpos_int pos, int mode)
716 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos), mode);
717 return call_basic_streambuf_char_seekpos(this, ret, pos, mode);
720 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
721 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
722 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old, 36)
723 fpos_int* __thiscall basic_streambuf_char_pubseekpos_old(basic_streambuf_char *this,
724 fpos_int *ret, fpos_int pos, unsigned int mode)
726 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos), mode);
727 return basic_streambuf_char_pubseekpos(this, ret, pos, mode);
730 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
731 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
732 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf, 12)
733 #define call_basic_streambuf_char_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
734 basic_streambuf_char*, (basic_streambuf_char*, char*, streamsize), (this, buf, count))
735 basic_streambuf_char* __thiscall basic_streambuf_char_setbuf(basic_streambuf_char *this, char *buf, streamsize count)
737 TRACE("(%p %p %lu)\n", this, buf, count);
738 return this;
741 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
742 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
743 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf, 12)
744 basic_streambuf_char* __thiscall basic_streambuf_char_pubsetbuf(basic_streambuf_char *this, char *buf, streamsize count)
746 TRACE("(%p %p %lu)\n", this, buf, count);
747 return call_basic_streambuf_char_setbuf(this, buf, count);
750 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
751 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
752 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync, 4)
753 #define call_basic_streambuf_char_sync(this) CALL_VTBL_FUNC(this, 48, \
754 int, (basic_streambuf_char*), (this))
755 int __thiscall basic_streambuf_char_sync(basic_streambuf_char *this)
757 TRACE("(%p)\n", this);
758 return 0;
761 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
762 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
763 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync, 4)
764 int __thiscall basic_streambuf_char_pubsync(basic_streambuf_char *this)
766 TRACE("(%p)\n", this);
767 return call_basic_streambuf_char_sync(this);
770 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
771 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
772 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn, 12)
773 streamsize __thiscall basic_streambuf_char_sgetn(basic_streambuf_char *this, char *ptr, streamsize count)
775 TRACE("(%p %p %lu)\n", this, ptr, count);
776 return call_basic_streambuf_char__Xsgetn_s(this, ptr, -1, count);
779 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
780 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
781 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc, 4)
782 #define call_basic_streambuf_char_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
783 streamsize, (basic_streambuf_char*), (this))
784 streamsize __thiscall basic_streambuf_char_showmanyc(basic_streambuf_char *this)
786 TRACE("(%p)\n", this);
787 return 0;
790 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
791 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
792 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail, 4)
793 streamsize __thiscall basic_streambuf_char_in_avail(basic_streambuf_char *this)
795 streamsize ret;
797 TRACE("(%p)\n", this);
799 ret = basic_streambuf_char__Gnavail(this);
800 return ret ? ret : call_basic_streambuf_char_showmanyc(this);
803 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
804 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
805 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc, 8)
806 int __thiscall basic_streambuf_char_sputbackc(basic_streambuf_char *this, char ch)
808 TRACE("(%p %d)\n", this, ch);
809 if(*this->prpos && *this->prpos>*this->prbuf && (*this->prpos)[-1]==ch) {
810 (*this->prsize)++;
811 (*this->prpos)--;
812 return ch;
815 return call_basic_streambuf_char_pbackfail(this, ch);
818 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
819 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
820 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc, 8)
821 int __thiscall basic_streambuf_char_sputc(basic_streambuf_char *this, char ch)
823 TRACE("(%p %d)\n", this, ch);
824 return basic_streambuf_char__Pnavail(this) ?
825 (*basic_streambuf_char__Pninc(this) = ch) :
826 call_basic_streambuf_char_overflow(this, ch);
829 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
830 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
831 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc, 4)
832 int __thiscall basic_streambuf_char_sungetc(basic_streambuf_char *this)
834 TRACE("(%p)\n", this);
835 if(*this->prpos && *this->prpos>*this->prbuf) {
836 (*this->prsize)++;
837 (*this->prpos)--;
838 return **this->prpos;
841 return call_basic_streambuf_char_pbackfail(this, EOF);
844 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
845 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
846 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc, 4)
847 void __thiscall basic_streambuf_char_stossc(basic_streambuf_char *this)
849 TRACE("(%p)\n", this);
850 if(basic_streambuf_char__Gnavail(this))
851 basic_streambuf_char__Gninc(this);
852 else
853 call_basic_streambuf_char_uflow(this);
856 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
857 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
858 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc, 4)
859 int __thiscall basic_streambuf_char_sbumpc(basic_streambuf_char *this)
861 TRACE("(%p)\n", this);
862 return basic_streambuf_char__Gnavail(this) ?
863 *basic_streambuf_char__Gninc(this) : call_basic_streambuf_char_uflow(this);
866 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
867 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
868 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc, 4)
869 int __thiscall basic_streambuf_char_sgetc(basic_streambuf_char *this)
871 TRACE("(%p)\n", this);
872 return basic_streambuf_char__Gnavail(this) ?
873 *basic_streambuf_char_gptr(this) : call_basic_streambuf_char_underflow(this);
876 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
877 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
878 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc, 4)
879 int __thiscall basic_streambuf_char_snextc(basic_streambuf_char *this)
881 TRACE("(%p)\n", this);
883 if(basic_streambuf_char__Gnavail(this) > 1)
884 return *basic_streambuf_char__Gnpreinc(this);
885 return basic_streambuf_char_sbumpc(this)==EOF ?
886 EOF : basic_streambuf_char_sgetc(this);
889 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
890 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
891 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn, 12)
892 #define call_basic_streambuf_char_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
893 streamsize, (basic_streambuf_char*, char*, streamsize), (this, ptr, count))
894 streamsize __thiscall basic_streambuf_char_xsgetn(basic_streambuf_char *this, char *ptr, streamsize count)
896 TRACE("(%p %p %lu)\n", this, ptr, count);
897 return call_basic_streambuf_char__Xsgetn_s(this, ptr, -1, count);
900 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
901 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
902 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn, 12)
903 #define call_basic_streambuf_char_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
904 streamsize, (basic_streambuf_char*, const char*, streamsize), (this, ptr, count))
905 streamsize __thiscall basic_streambuf_char_xsputn(basic_streambuf_char *this, const char *ptr, streamsize count)
907 streamsize copied, chunk;
909 TRACE("(%p %p %lu)\n", this, ptr, count);
911 for(copied=0; copied<count;) {
912 chunk = basic_streambuf_char__Pnavail(this);
913 if(chunk > count-copied)
914 chunk = count-copied;
916 if(chunk) {
917 memcpy(*this->pwpos, ptr+copied, chunk);
918 *this->pwpos += chunk;
919 *this->pwsize -= chunk;
920 copied += chunk;
921 }else if(call_basic_streambuf_char_overflow(this, ptr[copied]) != EOF) {
922 copied++;
923 }else {
924 break;
928 return copied;
931 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
932 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
933 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn, 12)
934 streamsize __thiscall basic_streambuf_char_sputn(basic_streambuf_char *this, const char *ptr, streamsize count)
936 TRACE("(%p %p %lu)\n", this, ptr, count);
937 return call_basic_streambuf_char_xsputn(this, ptr, count);
940 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
941 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
942 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
943 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
944 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp_next, 16)
945 void __thiscall basic_streambuf_wchar_setp_next(basic_streambuf_wchar *this, wchar_t *first, wchar_t *next, wchar_t *last)
947 TRACE("(%p %p %p %p)\n", this, first, next, last);
949 this->wbuf = first;
950 this->wpos = next;
951 this->wsize = last-next;
954 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W0@Z */
955 /* ?setp@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W0@Z */
956 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG0@Z */
957 /* ?setp@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG0@Z */
958 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setp, 12)
959 void __thiscall basic_streambuf_wchar_setp(basic_streambuf_wchar *this, wchar_t *first, wchar_t *last)
961 basic_streambuf_wchar_setp_next(this, first, first, last);
964 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPA_W00@Z */
965 /* ?setg@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEA_W00@Z */
966 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAG00@Z */
967 /* ?setg@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAG00@Z */
968 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setg, 16)
969 void __thiscall basic_streambuf_wchar_setg(basic_streambuf_wchar *this, wchar_t *first, wchar_t *next, wchar_t *last)
971 TRACE("(%p %p %p %p)\n", this, first, next, last);
973 this->rbuf = first;
974 this->rpos = next;
975 this->rsize = last-next;
978 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXXZ */
979 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXXZ */
980 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXXZ */
981 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
982 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init_empty, 4)
983 void __thiscall basic_streambuf_wchar__Init_empty(basic_streambuf_wchar *this)
985 TRACE("(%p)\n", this);
987 this->prbuf = &this->rbuf;
988 this->pwbuf = &this->wbuf;
989 this->prpos = &this->rpos;
990 this->pwpos = &this->wpos;
991 this->prsize = &this->rsize;
992 this->pwsize = &this->wsize;
994 basic_streambuf_wchar_setp(this, NULL, NULL);
995 basic_streambuf_wchar_setg(this, NULL, NULL, NULL);
998 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@W4_Uninitialized@1@@Z */
999 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1000 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor_uninitialized, 8)
1001 basic_streambuf_wchar* __thiscall basic_streambuf_wchar_ctor_uninitialized(basic_streambuf_wchar *this, int uninitialized)
1003 TRACE("(%p %d)\n", this, uninitialized);
1004 this->vtable = &MSVCP_basic_streambuf_wchar_vtable;
1005 mutex_ctor(&this->lock);
1006 return this;
1009 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@W4_Uninitialized@1@@Z */
1010 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
1011 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor_uninitialized, 8)
1012 basic_streambuf_wchar* __thiscall basic_streambuf_short_ctor_uninitialized(basic_streambuf_wchar *this, int uninitialized)
1014 TRACE("(%p %d)\n", this, uninitialized);
1015 basic_streambuf_wchar_ctor_uninitialized(this, uninitialized);
1016 this->vtable = &MSVCP_basic_streambuf_short_vtable;
1017 return this;
1020 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
1021 /* ??0?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
1022 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_ctor, 4)
1023 basic_streambuf_wchar* __thiscall basic_streambuf_wchar_ctor(basic_streambuf_wchar *this)
1025 TRACE("(%p)\n", this);
1027 this->vtable = &MSVCP_basic_streambuf_wchar_vtable;
1028 mutex_ctor(&this->lock);
1029 this->loc = MSVCRT_operator_new(sizeof(locale));
1030 locale_ctor(this->loc);
1031 basic_streambuf_wchar__Init_empty(this);
1033 return this;
1036 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAE@XZ */
1037 /* ??0?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAA@XZ */
1038 DEFINE_THISCALL_WRAPPER(basic_streambuf_short_ctor, 4)
1039 basic_streambuf_wchar* __thiscall basic_streambuf_short_ctor(basic_streambuf_wchar *this)
1041 TRACE("(%p)\n", this);
1042 basic_streambuf_wchar_ctor(this);
1043 this->vtable = &MSVCP_basic_streambuf_short_vtable;
1044 return this;
1047 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
1048 /* ??1?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
1049 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UAE@XZ */
1050 /* ??1?$basic_streambuf@GU?$char_traits@G@std@@@std@@UEAA@XZ */
1051 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_dtor, 4)
1052 void __thiscall basic_streambuf_wchar_dtor(basic_streambuf_wchar *this)
1054 TRACE("(%p)\n", this);
1056 mutex_dtor(&this->lock);
1057 locale_dtor(this->loc);
1058 MSVCRT_operator_delete(this->loc);
1061 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_wchar_vector_dtor, 8)
1062 basic_streambuf_wchar* __thiscall MSVCP_basic_streambuf_wchar_vector_dtor(basic_streambuf_wchar *this, unsigned int flags)
1064 TRACE("(%p %x)\n", this, flags);
1065 if(flags & 2) {
1066 /* we have an array, with the number of elements stored before the first object */
1067 int i, *ptr = (int *)this-1;
1069 for(i=*ptr-1; i>=0; i--)
1070 basic_streambuf_wchar_dtor(this+i);
1071 MSVCRT_operator_delete(ptr);
1072 } else {
1073 basic_streambuf_wchar_dtor(this);
1074 if(flags & 1)
1075 MSVCRT_operator_delete(this);
1078 return this;
1081 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_short_vector_dtor, 8)
1082 basic_streambuf_wchar* __thiscall MSVCP_basic_streambuf_short_vector_dtor(basic_streambuf_wchar *this, unsigned int flags)
1084 TRACE("(%p %x)\n", this, flags);
1085 return MSVCP_basic_streambuf_wchar_vector_dtor(this, flags);
1088 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1089 /* ?_Gnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1090 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1091 /* ?_Gnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1092 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnavail, 4)
1093 streamsize __thiscall basic_streambuf_wchar__Gnavail(const basic_streambuf_wchar *this)
1095 TRACE("(%p)\n", this);
1096 return *this->prpos ? *this->prsize : 0;
1099 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1100 /* ?_Gndec@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1101 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1102 /* ?_Gndec@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1103 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gndec, 4)
1104 wchar_t* __thiscall basic_streambuf_wchar__Gndec(basic_streambuf_wchar *this)
1106 TRACE("(%p)\n", this);
1107 (*this->prsize)++;
1108 (*this->prpos)--;
1109 return *this->prpos;
1112 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1113 /* ?_Gninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1114 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1115 /* ?_Gninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1116 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gninc, 4)
1117 wchar_t* __thiscall basic_streambuf_wchar__Gninc(basic_streambuf_wchar *this)
1119 TRACE("(%p)\n", this);
1120 (*this->prsize)--;
1121 return (*this->prpos)++;
1124 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1125 /* ?_Gnpreinc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1126 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1127 /* ?_Gnpreinc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1128 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Gnpreinc, 4)
1129 wchar_t* __thiscall basic_streambuf_wchar__Gnpreinc(basic_streambuf_wchar *this)
1131 TRACE("(%p)\n", this);
1132 (*this->prsize)--;
1133 (*this->prpos)++;
1134 return *this->prpos;
1137 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXPAPA_W0PAH001@Z */
1138 /* ?_Init@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXPEAPEA_W0PEAH001@Z */
1139 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXPAPAG0PAH001@Z */
1140 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXPEAPEAG0PEAH001@Z */
1141 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Init, 28)
1142 void __thiscall basic_streambuf_wchar__Init(basic_streambuf_wchar *this, wchar_t **gf, wchar_t **gn, int *gc, wchar_t **pf, wchar_t **pn, int *pc)
1144 TRACE("(%p %p %p %p %p %p %p)\n", this, gf, gn, gc, pf, pn, pc);
1146 this->prbuf = gf;
1147 this->pwbuf = pf;
1148 this->prpos = gn;
1149 this->pwpos = pn;
1150 this->prsize = gc;
1151 this->pwsize = pc;
1154 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1155 /* ?_Lock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1156 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1157 /* ?_Lock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1158 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Lock, 4)
1159 void __thiscall basic_streambuf_wchar__Lock(basic_streambuf_wchar *this)
1161 TRACE("(%p)\n", this);
1162 mutex_lock(&this->lock);
1165 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEHXZ */
1166 /* ?_Pnavail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBA_JXZ */
1167 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEHXZ */
1168 /* ?_Pnavail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBA_JXZ */
1169 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pnavail, 4)
1170 streamsize __thiscall basic_streambuf_wchar__Pnavail(const basic_streambuf_wchar *this)
1172 TRACE("(%p)\n", this);
1173 return *this->pwpos ? *this->pwsize : 0;
1176 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEPA_WXZ */
1177 /* ?_Pninc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAPEA_WXZ */
1178 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEPAGXZ */
1179 /* ?_Pninc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAPEAGXZ */
1180 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Pninc, 4)
1181 wchar_t* __thiscall basic_streambuf_wchar__Pninc(basic_streambuf_wchar *this)
1183 TRACE("(%p)\n", this);
1184 (*this->pwsize)--;
1185 return (*this->pwpos)++;
1188 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1189 /* ?underflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1190 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1191 /* ?underflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1192 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_underflow, 4)
1193 #define call_basic_streambuf_wchar_underflow(this) CALL_VTBL_FUNC(this, 16, \
1194 unsigned short, (basic_streambuf_wchar*), (this))
1195 unsigned short __thiscall basic_streambuf_wchar_underflow(basic_streambuf_wchar *this)
1197 TRACE("(%p)\n", this);
1198 return WEOF;
1201 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGXZ */
1202 /* ?uflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGXZ */
1203 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGXZ */
1204 /* ?uflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGXZ */
1205 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_uflow, 4)
1206 #define call_basic_streambuf_wchar_uflow(this) CALL_VTBL_FUNC(this, 20, \
1207 unsigned short, (basic_streambuf_wchar*), (this))
1208 unsigned short __thiscall basic_streambuf_wchar_uflow(basic_streambuf_wchar *this)
1210 int ret;
1212 TRACE("(%p)\n", this);
1214 if(call_basic_streambuf_wchar_underflow(this)==WEOF)
1215 return WEOF;
1217 ret = **this->prpos;
1218 (*this->prsize)--;
1219 (*this->prpos)++;
1220 return ret;
1223 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WIH@Z */
1224 /* ?_Xsgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_K_J@Z */
1225 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGIH@Z */
1226 /* ?_Xsgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_K_J@Z */
1227 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Xsgetn_s, 16)
1228 #define call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count) CALL_VTBL_FUNC(this, 28, \
1229 streamsize, (basic_streambuf_wchar*, wchar_t*, MSVCP_size_t, streamsize), (this, ptr, size, count))
1230 streamsize __thiscall basic_streambuf_wchar__Xsgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count)
1232 streamsize copied, chunk;
1234 TRACE("(%p %p %lu %lu)\n", this, ptr, size, count);
1236 for(copied=0; copied<count && size;) {
1237 chunk = basic_streambuf_wchar__Gnavail(this);
1238 if(chunk > count-copied)
1239 chunk = count-copied;
1241 if(chunk) {
1242 memcpy_s(ptr+copied, size, *this->prpos, chunk);
1243 *this->prpos += chunk;
1244 *this->prsize -= chunk;
1245 copied += chunk;
1246 size -= chunk;
1247 }else if((ptr[copied] = call_basic_streambuf_wchar_uflow(this)) != WEOF) {
1248 copied++;
1249 size--;
1250 }else {
1251 break;
1255 return copied;
1258 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WIH@Z */
1259 /* ?_Sgetn_s@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_K_J@Z */
1260 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGIH@Z */
1261 /* ?_Sgetn_s@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_K_J@Z */
1262 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Sgetn_s, 16)
1263 streamsize __thiscall basic_streambuf_wchar__Sgetn_s(basic_streambuf_wchar *this, wchar_t *ptr, MSVCP_size_t size, streamsize count)
1265 TRACE("(%p %p %lu %lu)\n", this, ptr, size, count);
1266 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr, size, count);
1269 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1270 /* ?_Unlock@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1271 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1272 /* ?_Unlock@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1273 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar__Unlock, 4)
1274 void __thiscall basic_streambuf_wchar__Unlock(basic_streambuf_wchar *this)
1276 TRACE("(%p)\n", this);
1277 mutex_unlock(&this->lock);
1280 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1281 /* ?eback@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1282 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1283 /* ?eback@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1284 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_eback, 4)
1285 wchar_t* __thiscall basic_streambuf_wchar_eback(const basic_streambuf_wchar *this)
1287 TRACE("(%p)\n", this);
1288 return *this->prbuf;
1291 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1292 /* ?gptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1293 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1294 /* ?gptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1295 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gptr, 4)
1296 wchar_t* __thiscall basic_streambuf_wchar_gptr(const basic_streambuf_wchar *this)
1298 TRACE("(%p)\n", this);
1299 return *this->prpos;
1302 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1303 /* ?egptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1304 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1305 /* ?egptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1306 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_egptr, 4)
1307 wchar_t* __thiscall basic_streambuf_wchar_egptr(const basic_streambuf_wchar *this)
1309 TRACE("(%p)\n", this);
1310 return *this->prpos+*this->prsize;
1313 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1314 /* ?epptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1315 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1316 /* ?epptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1317 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_epptr, 4)
1318 wchar_t* __thiscall basic_streambuf_wchar_epptr(const basic_streambuf_wchar *this)
1320 TRACE("(%p)\n", this);
1321 return *this->pwpos+*this->pwsize;
1324 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1325 /* ?gbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1326 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1327 /* ?gbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1328 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_gbump, 8)
1329 void __thiscall basic_streambuf_wchar_gbump(basic_streambuf_wchar *this, int off)
1331 TRACE("(%p %d)\n", this, off);
1332 *this->prpos += off;
1333 *this->prsize -= off;
1336 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QBE?AVlocale@2@XZ */
1337 /* ?getloc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEBA?AVlocale@2@XZ */
1338 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QBE?AVlocale@2@XZ */
1339 /* ?getloc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEBA?AVlocale@2@XZ */
1340 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_getloc, 8)
1341 locale* __thiscall basic_streambuf_wchar_getloc(const basic_streambuf_wchar *this, locale *ret)
1343 TRACE("(%p)\n", this);
1344 return locale_copy_ctor(ret, this->loc);
1347 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEXABVlocale@2@@Z */
1348 /* ?imbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAXAEBVlocale@2@@Z */
1349 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEXABVlocale@2@@Z */
1350 /* ?imbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAXAEBVlocale@2@@Z */
1351 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_imbue, 8)
1352 #define call_basic_streambuf_wchar_imbue(this, loc) CALL_VTBL_FUNC(this, 52, \
1353 void, (basic_streambuf_wchar*, const locale*), (this, loc))
1354 void __thiscall basic_streambuf_wchar_imbue(basic_streambuf_wchar *this, const locale *loc)
1356 TRACE("(%p %p)\n", this, loc);
1359 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1360 /* ?overflow@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1361 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1362 /* ?overflow@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1363 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_overflow, 8)
1364 #define call_basic_streambuf_wchar_overflow(this, ch) CALL_VTBL_FUNC(this, 4, \
1365 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1366 unsigned short __thiscall basic_streambuf_wchar_overflow(basic_streambuf_wchar *this, unsigned short ch)
1368 TRACE("(%p %d)\n", this, ch);
1369 return WEOF;
1372 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEGG@Z */
1373 /* ?pbackfail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAGG@Z */
1374 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEGG@Z */
1375 /* ?pbackfail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAGG@Z */
1376 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbackfail, 8)
1377 #define call_basic_streambuf_wchar_pbackfail(this, ch) CALL_VTBL_FUNC(this, 8, \
1378 unsigned short, (basic_streambuf_wchar*, unsigned short), (this, ch))
1379 unsigned short __thiscall basic_streambuf_wchar_pbackfail(basic_streambuf_wchar *this, unsigned short ch)
1381 TRACE("(%p %d)\n", this, ch);
1382 return WEOF;
1385 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1386 /* ?pbase@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1387 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1388 /* ?pbase@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1389 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbase, 4)
1390 wchar_t* __thiscall basic_streambuf_wchar_pbase(const basic_streambuf_wchar *this)
1392 TRACE("(%p)\n", this);
1393 return *this->pwbuf;
1396 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IAEXH@Z */
1397 /* ?pbump@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEAAXH@Z */
1398 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IAEXH@Z */
1399 /* ?pbump@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXH@Z */
1400 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pbump, 8)
1401 void __thiscall basic_streambuf_wchar_pbump(basic_streambuf_wchar *this, int off)
1403 TRACE("(%p %d)\n", this, off);
1404 *this->pwpos += off;
1405 *this->pwsize -= off;
1408 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IBEPA_WXZ */
1409 /* ?pptr@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@IEBAPEA_WXZ */
1410 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IBEPAGXZ */
1411 /* ?pptr@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEBAPEAGXZ */
1412 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pptr, 4)
1413 wchar_t* __thiscall basic_streambuf_wchar_pptr(const basic_streambuf_wchar *this)
1415 TRACE("(%p)\n", this);
1416 return *this->pwpos;
1419 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1420 /* ?pubimbue@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1421 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1422 /* ?pubimbue@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1423 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubimbue, 12)
1424 locale* __thiscall basic_streambuf_wchar_pubimbue(basic_streambuf_wchar *this, locale *ret, const locale *loc)
1426 TRACE("(%p %p)\n", this, loc);
1427 memcpy(ret, this->loc, sizeof(locale));
1428 call_basic_streambuf_wchar_imbue(this, loc);
1429 locale_copy_ctor(this->loc, loc);
1430 return ret;
1433 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1434 /* ?seekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1435 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1436 /* ?seekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1437 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekoff, 20)
1438 #define call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode) CALL_VTBL_FUNC(this, 36, \
1439 fpos_int*, (basic_streambuf_wchar*, fpos_int*, streamoff, int, int), (this, ret, off, way, mode))
1440 fpos_int* __thiscall basic_streambuf_wchar_seekoff(basic_streambuf_wchar *this,
1441 fpos_int *ret, streamoff off, int way, int mode)
1443 TRACE("(%p %lu %d %d)\n", this, off, way, mode);
1444 ret->off = 0;
1445 ret->pos = -1;
1446 ret->state = 0;
1447 return ret;
1450 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1451 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1452 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1453 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1454 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff, 20)
1455 fpos_int* __thiscall basic_streambuf_wchar_pubseekoff(basic_streambuf_wchar *this,
1456 fpos_int *ret, streamoff off, int way, int mode)
1458 TRACE("(%p %lu %d %d)\n", this, off, way, mode);
1459 return call_basic_streambuf_wchar_seekoff(this, ret, off, way, mode);
1462 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1463 /* ?pubseekoff@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1464 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1465 /* ?pubseekoff@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1466 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekoff_old, 20)
1467 fpos_int* __thiscall basic_streambuf_wchar_pubseekoff_old(basic_streambuf_wchar *this,
1468 fpos_int *ret, streamoff off, unsigned int way, unsigned int mode)
1470 TRACE("(%p %lu %d %d)\n", this, off, way, mode);
1471 return basic_streambuf_wchar_pubseekoff(this, ret, off, way, mode);
1474 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1475 /* ?seekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1476 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1477 /* ?seekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1478 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_seekpos, 36)
1479 #define call_basic_streambuf_wchar_seekpos(this, ret, pos, mode) CALL_VTBL_FUNC(this, 40, \
1480 fpos_int*, (basic_streambuf_wchar*, fpos_int*, fpos_int, int), (this, ret, pos, mode))
1481 fpos_int* __thiscall basic_streambuf_wchar_seekpos(basic_streambuf_wchar *this,
1482 fpos_int *ret, fpos_int pos, int mode)
1484 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos), mode);
1485 ret->off = 0;
1486 ret->pos = -1;
1487 ret->state = 0;
1488 return ret;
1491 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1492 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1493 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1494 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1495 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos, 36)
1496 fpos_int* __thiscall basic_streambuf_wchar_pubseekpos(basic_streambuf_wchar *this,
1497 fpos_int *ret, fpos_int pos, int mode)
1499 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos), mode);
1500 return call_basic_streambuf_wchar_seekpos(this, ret, pos, mode);
1503 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1504 /* ?pubseekpos@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1505 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1506 /* ?pubseekpos@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1507 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubseekpos_old, 36)
1508 fpos_int* __thiscall basic_streambuf_wchar_pubseekpos_old(basic_streambuf_wchar *this,
1509 fpos_int *ret, fpos_int pos, unsigned int mode)
1511 TRACE("(%p %s %d)\n", this, debugstr_fpos_int(&pos), mode);
1512 return basic_streambuf_wchar_pubseekpos(this, ret, pos, mode);
1515 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEPAV12@PA_WH@Z */
1516 /* ?setbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAPEAV12@PEA_W_J@Z */
1517 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEPAV12@PAGH@Z */
1518 /* ?setbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAPEAV12@PEAG_J@Z */
1519 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_setbuf, 12)
1520 #define call_basic_streambuf_wchar_setbuf(this, buf, count) CALL_VTBL_FUNC(this, 44, \
1521 basic_streambuf_wchar*, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, buf, count))
1522 basic_streambuf_wchar* __thiscall basic_streambuf_wchar_setbuf(basic_streambuf_wchar *this, wchar_t *buf, streamsize count)
1524 TRACE("(%p %p %lu)\n", this, buf, count);
1525 return this;
1528 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEPAV12@PA_WH@Z */
1529 /* ?pubsetbuf@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAPEAV12@PEA_W_J@Z */
1530 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEPAV12@PAGH@Z */
1531 /* ?pubsetbuf@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAPEAV12@PEAG_J@Z */
1532 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsetbuf, 12)
1533 basic_streambuf_wchar* __thiscall basic_streambuf_wchar_pubsetbuf(basic_streambuf_wchar *this, wchar_t *buf, streamsize count)
1535 TRACE("(%p %p %lu)\n", this, buf, count);
1536 return call_basic_streambuf_wchar_setbuf(this, buf, count);
1539 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
1540 /* ?sync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAAHXZ */
1541 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
1542 /* ?sync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAAHXZ */
1543 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sync, 4)
1544 #define call_basic_streambuf_wchar_sync(this) CALL_VTBL_FUNC(this, 48, \
1545 int, (basic_streambuf_wchar*), (this))
1546 int __thiscall basic_streambuf_wchar_sync(basic_streambuf_wchar *this)
1548 TRACE("(%p)\n", this);
1549 return 0;
1552 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
1553 /* ?pubsync@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAHXZ */
1554 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
1555 /* ?pubsync@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHXZ */
1556 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_pubsync, 4)
1557 int __thiscall basic_streambuf_wchar_pubsync(basic_streambuf_wchar *this)
1559 TRACE("(%p)\n", this);
1560 return call_basic_streambuf_wchar_sync(this);
1563 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPA_WH@Z */
1564 /* ?sgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEA_W_J@Z */
1565 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPAGH@Z */
1566 /* ?sgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEAG_J@Z */
1567 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetn, 12)
1568 streamsize __thiscall basic_streambuf_wchar_sgetn(basic_streambuf_wchar *this, wchar_t *ptr, streamsize count)
1570 TRACE("(%p %p %lu)\n", this, ptr, count);
1571 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr, -1, count);
1574 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHXZ */
1575 /* ?showmanyc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JXZ */
1576 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHXZ */
1577 /* ?showmanyc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JXZ */
1578 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_showmanyc, 4)
1579 #define call_basic_streambuf_wchar_showmanyc(this) CALL_VTBL_FUNC(this, 12, \
1580 streamsize, (basic_streambuf_wchar*), (this))
1581 streamsize __thiscall basic_streambuf_wchar_showmanyc(basic_streambuf_wchar *this)
1583 TRACE("(%p)\n", this);
1584 return 0;
1587 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHXZ */
1588 /* ?in_avail@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JXZ */
1589 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHXZ */
1590 /* ?in_avail@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JXZ */
1591 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_in_avail, 4)
1592 streamsize __thiscall basic_streambuf_wchar_in_avail(basic_streambuf_wchar *this)
1594 streamsize ret;
1596 TRACE("(%p)\n", this);
1598 ret = basic_streambuf_wchar__Gnavail(this);
1599 return ret ? ret : call_basic_streambuf_wchar_showmanyc(this);
1602 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
1603 /* ?sputbackc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
1604 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
1605 /* ?sputbackc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGG@Z */
1606 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputbackc, 8)
1607 unsigned short __thiscall basic_streambuf_wchar_sputbackc(basic_streambuf_wchar *this, wchar_t ch)
1609 TRACE("(%p %d)\n", this, ch);
1610 if(*this->prpos && *this->prpos>*this->prbuf && (*this->prpos)[-1]==ch) {
1611 (*this->prsize)++;
1612 (*this->prpos)--;
1613 return ch;
1616 return call_basic_streambuf_wchar_pbackfail(this, ch);
1619 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEG_W@Z */
1620 /* ?sputc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAG_W@Z */
1621 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGG@Z */
1622 /* ?sputc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAHG@Z */
1623 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputc, 8)
1624 unsigned short __thiscall basic_streambuf_wchar_sputc(basic_streambuf_wchar *this, wchar_t ch)
1626 TRACE("(%p %d)\n", this, ch);
1627 return basic_streambuf_wchar__Pnavail(this) ?
1628 (*basic_streambuf_wchar__Pninc(this) = ch) :
1629 call_basic_streambuf_wchar_overflow(this, ch);
1632 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1633 /* ?sungetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1634 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1635 /* ?sungetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1636 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sungetc, 4)
1637 unsigned short __thiscall basic_streambuf_wchar_sungetc(basic_streambuf_wchar *this)
1639 TRACE("(%p)\n", this);
1640 if(*this->prpos && *this->prpos>*this->prbuf) {
1641 (*this->prsize)++;
1642 (*this->prpos)--;
1643 return **this->prpos;
1646 return call_basic_streambuf_wchar_pbackfail(this, WEOF);
1649 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEXXZ */
1650 /* ?stossc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAXXZ */
1651 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEXXZ */
1652 /* ?stossc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAXXZ */
1653 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_stossc, 4)
1654 void __thiscall basic_streambuf_wchar_stossc(basic_streambuf_wchar *this)
1656 TRACE("(%p)\n", this);
1657 if(basic_streambuf_wchar__Gnavail(this))
1658 basic_streambuf_wchar__Gninc(this);
1659 else
1660 call_basic_streambuf_wchar_uflow(this);
1663 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1664 /* ?sbumpc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1665 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1666 /* ?sbumpc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1667 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sbumpc, 4)
1668 unsigned short __thiscall basic_streambuf_wchar_sbumpc(basic_streambuf_wchar *this)
1670 TRACE("(%p)\n", this);
1671 return basic_streambuf_wchar__Gnavail(this) ?
1672 *basic_streambuf_wchar__Gninc(this) : call_basic_streambuf_wchar_uflow(this);
1675 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1676 /* ?sgetc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1677 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1678 /* ?sgetc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1679 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sgetc, 4)
1680 unsigned short __thiscall basic_streambuf_wchar_sgetc(basic_streambuf_wchar *this)
1682 TRACE("(%p)\n", this);
1683 return basic_streambuf_wchar__Gnavail(this) ?
1684 *basic_streambuf_wchar_gptr(this) : call_basic_streambuf_wchar_underflow(this);
1687 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEGXZ */
1688 /* ?snextc@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAAGXZ */
1689 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEGXZ */
1690 /* ?snextc@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAAGXZ */
1691 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_snextc, 4)
1692 unsigned short __thiscall basic_streambuf_wchar_snextc(basic_streambuf_wchar *this)
1694 TRACE("(%p)\n", this);
1696 if(basic_streambuf_wchar__Gnavail(this) > 1)
1697 return *basic_streambuf_wchar__Gnpreinc(this);
1698 return basic_streambuf_wchar_sbumpc(this)==WEOF ?
1699 WEOF : basic_streambuf_wchar_sgetc(this);
1702 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPA_WH@Z */
1703 /* ?xsgetn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEA_W_J@Z */
1704 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPAGH@Z */
1705 /* ?xsgetn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEAG_J@Z */
1706 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsgetn, 12)
1707 #define call_basic_streambuf_wchar_xsgetn(this, ptr, count) CALL_VTBL_FUNC(this, 24, \
1708 streamsize, (basic_streambuf_wchar*, wchar_t*, streamsize), (this, ptr, count))
1709 streamsize __thiscall basic_streambuf_wchar_xsgetn(basic_streambuf_wchar *this, wchar_t *ptr, streamsize count)
1711 TRACE("(%p %p %lu)\n", this, ptr, count);
1712 return call_basic_streambuf_wchar__Xsgetn_s(this, ptr, -1, count);
1715 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MAEHPB_WH@Z */
1716 /* ?xsputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@MEAA_JPEB_W_J@Z */
1717 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MAEHPBGH@Z */
1718 /* ?xsputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@MEAA_JPEBG_J@Z */
1719 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_xsputn, 12)
1720 #define call_basic_streambuf_wchar_xsputn(this, ptr, count) CALL_VTBL_FUNC(this, 32, \
1721 streamsize, (basic_streambuf_wchar*, const wchar_t*, streamsize), (this, ptr, count))
1722 streamsize __thiscall basic_streambuf_wchar_xsputn(basic_streambuf_wchar *this, const wchar_t *ptr, streamsize count)
1724 streamsize copied, chunk;
1726 TRACE("(%p %p %lu)\n", this, ptr, count);
1728 for(copied=0; copied<count;) {
1729 chunk = basic_streambuf_wchar__Pnavail(this);
1730 if(chunk > count-copied)
1731 chunk = count-copied;
1733 if(chunk) {
1734 memcpy(*this->pwpos, ptr+copied, chunk);
1735 *this->pwpos += chunk;
1736 *this->pwsize -= chunk;
1737 copied += chunk;
1738 }else if(call_basic_streambuf_wchar_overflow(this, ptr[copied]) != WEOF) {
1739 copied++;
1740 }else {
1741 break;
1745 return copied;
1748 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QAEHPB_WH@Z */
1749 /* ?sputn@?$basic_streambuf@_WU?$char_traits@_W@std@@@std@@QEAA_JPEB_W_J@Z */
1750 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QAEHPBGH@Z */
1751 /* ?sputn@?$basic_streambuf@GU?$char_traits@G@std@@@std@@QEAA_JPEBG_J@Z */
1752 DEFINE_THISCALL_WRAPPER(basic_streambuf_wchar_sputn, 12)
1753 streamsize __thiscall basic_streambuf_wchar_sputn(basic_streambuf_wchar *this, const wchar_t *ptr, streamsize count)
1755 TRACE("(%p %p %lu)\n", this, ptr, count);
1756 return call_basic_streambuf_wchar_xsputn(this, ptr, count);
1759 /* ??0ios_base@std@@IAE@XZ */
1760 /* ??0ios_base@std@@IEAA@XZ */
1761 DEFINE_THISCALL_WRAPPER(ios_base_ctor, 4)
1762 ios_base* __thiscall ios_base_ctor(ios_base *this)
1764 FIXME("(%p) stub\n", this);
1766 this->vtable = &MSVCP_ios_base_vtable;
1767 return NULL;
1770 /* ??0ios_base@std@@QAE@ABV01@@Z */
1771 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
1772 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor, 8)
1773 ios_base* __thiscall ios_base_copy_ctor(ios_base *this, const ios_base *copy)
1775 FIXME("(%p %p) stub\n", this, copy);
1776 return NULL;
1779 /* ??1ios_base@std@@UAE@XZ */
1780 /* ??1ios_base@std@@UEAA@XZ */
1781 DEFINE_THISCALL_WRAPPER(ios_base_dtor, 4)
1782 void __thiscall ios_base_dtor(ios_base *this)
1784 FIXME("(%p) stub\n", this);
1787 DEFINE_THISCALL_WRAPPER(MSVCP_ios_base_vector_dtor, 8)
1788 ios_base* __thiscall MSVCP_ios_base_vector_dtor(ios_base *this, unsigned int flags)
1790 TRACE("(%p %x) stub\n", this, flags);
1791 if(flags & 2) {
1792 /* we have an array, with the number of elements stored before the first object */
1793 int i, *ptr = (int *)this-1;
1795 for(i=*ptr-1; i>=0; i--)
1796 ios_base_dtor(this+i);
1797 MSVCRT_operator_delete(ptr);
1798 } else {
1799 ios_base_dtor(this);
1800 if(flags & 1)
1801 MSVCRT_operator_delete(this);
1804 return this;
1807 DEFINE_THISCALL_WRAPPER(MSVCP_iosb_vector_dtor, 8)
1808 ios_base* __thiscall MSVCP_iosb_vector_dtor(ios_base *this, unsigned int flags)
1810 return MSVCP_ios_base_vector_dtor(this, flags);
1813 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
1814 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
1815 DEFINE_THISCALL_WRAPPER(ios_base_assign, 8)
1816 ios_base* __thiscall ios_base_assign(ios_base *this, const ios_base *right)
1818 FIXME("(%p %p) stub\n", this, right);
1819 return NULL;
1822 /* ??7ios_base@std@@QBE_NXZ */
1823 /* ??7ios_base@std@@QEBA_NXZ */
1824 DEFINE_THISCALL_WRAPPER(ios_base_op_succ, 4)
1825 MSVCP_bool __thiscall ios_base_op_succ(const ios_base *this)
1827 FIXME("(%p) stub\n", this);
1828 return FALSE;
1831 /* ??Bios_base@std@@QBEPAXXZ */
1832 /* ??Bios_base@std@@QEBAPEAXXZ */
1833 DEFINE_THISCALL_WRAPPER(ios_base_op_fail, 4)
1834 void* __thiscall ios_base_op_fail(const ios_base *this)
1836 FIXME("(%p) stub\n", this);
1837 return NULL;
1840 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
1841 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
1842 void CDECL ios_base_Addstd(ios_base *add)
1844 FIXME("(%p) stub\n", add);
1847 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
1848 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
1849 DEFINE_THISCALL_WRAPPER(ios_base_Callfns, 8)
1850 void __thiscall ios_base_Callfns(ios_base *this, IOS_BASE_event event)
1852 FIXME("(%p %x) stub\n", this, event);
1855 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
1856 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
1857 DEFINE_THISCALL_WRAPPER(ios_base_Findarr, 8)
1858 IOS_BASE_iosarray* __thiscall ios_base_Findarr(ios_base *this, int index)
1860 FIXME("(%p %d) stub\n", this, index);
1861 return NULL;
1864 /* ?_Index_func@ios_base@std@@CAAAHXZ */
1865 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
1866 int* CDECL ios_base_Index_func(void)
1868 TRACE("\n");
1869 return &ios_base_Index;
1872 /* ?_Init@ios_base@std@@IAEXXZ */
1873 /* ?_Init@ios_base@std@@IEAAXXZ */
1874 DEFINE_THISCALL_WRAPPER(ios_base_Init, 4)
1875 void __thiscall ios_base_Init(ios_base *this)
1877 FIXME("(%p) stub\n", this);
1880 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
1881 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
1882 void CDECL ios_base_Ios_base_dtor(ios_base *obj)
1884 FIXME("(%p) stub\n", obj);
1887 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
1888 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
1889 MSVCP_bool* CDECL ios_base_Sync_func(void)
1891 TRACE("\n");
1892 return &ios_base_Sync;
1895 /* ?_Tidy@ios_base@std@@AAAXXZ */
1896 /* ?_Tidy@ios_base@std@@AEAAXXZ */
1897 void CDECL ios_base_Tidy(void)
1899 FIXME("stub\n");
1902 /* ?bad@ios_base@std@@QBE_NXZ */
1903 /* ?bad@ios_base@std@@QEBA_NXZ */
1904 DEFINE_THISCALL_WRAPPER(ios_base_bad, 4)
1905 MSVCP_bool __thiscall ios_base_bad(const ios_base *this)
1907 FIXME("(%p) stub\n", this);
1908 return FALSE;
1911 /* ?clear@ios_base@std@@QAEXH_N@Z */
1912 /* ?clear@ios_base@std@@QEAAXH_N@Z */
1913 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise, 12)
1914 void __thiscall ios_base_clear_reraise(ios_base *this, IOSB_iostate state, MSVCP_bool reraise)
1916 FIXME("(%p %x %x) stub\n", this, state, reraise);
1919 /* ?clear@ios_base@std@@QAEXH@Z */
1920 /* ?clear@ios_base@std@@QEAAXH@Z */
1921 DEFINE_THISCALL_WRAPPER(ios_base_clear, 8)
1922 void __thiscall ios_base_clear(ios_base *this, IOSB_iostate state)
1924 ios_base_clear_reraise(this, state, FALSE);
1927 /* ?clear@ios_base@std@@QAEXI@Z */
1928 /* ?clear@ios_base@std@@QEAAXI@Z */
1929 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned, 8)
1930 void __thiscall ios_base_clear_unsigned(ios_base *this, unsigned int state)
1932 ios_base_clear_reraise(this, (IOSB_iostate)state, FALSE);
1935 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
1936 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
1937 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt, 8)
1938 ios_base* __thiscall ios_base_copyfmt(ios_base *this, const ios_base *obj)
1940 FIXME("(%p %p) stub\n", this, obj);
1941 return NULL;
1944 /* ?eof@ios_base@std@@QBE_NXZ */
1945 /* ?eof@ios_base@std@@QEBA_NXZ */
1946 DEFINE_THISCALL_WRAPPER(ios_base_eof, 4)
1947 MSVCP_bool __thiscall ios_base_eof(const ios_base *this)
1949 FIXME("(%p) stub\n", this);
1950 return FALSE;
1953 /* ?exceptions@ios_base@std@@QAEXH@Z */
1954 /* ?exceptions@ios_base@std@@QEAAXH@Z */
1955 DEFINE_THISCALL_WRAPPER(ios_base_exception_set, 8)
1956 void __thiscall ios_base_exception_set(ios_base *this, IOSB_iostate state)
1958 FIXME("(%p %x) stub\n", this, state);
1961 /* ?exceptions@ios_base@std@@QAEXI@Z */
1962 /* ?exceptions@ios_base@std@@QEAAXI@Z */
1963 DEFINE_THISCALL_WRAPPER(ios_base_exception_set_unsigned, 8)
1964 void __thiscall ios_base_exception_set_unsigned(ios_base *this, unsigned int state)
1966 FIXME("(%p %x) stub\n", this, state);
1969 /* ?exceptions@ios_base@std@@QBEHXZ */
1970 /* ?exceptions@ios_base@std@@QEBAHXZ */
1971 DEFINE_THISCALL_WRAPPER(ios_base_exception_get, 4)
1972 IOSB_iostate __thiscall ios_base_exception_get(ios_base *this)
1974 FIXME("(%p) stub\n", this);
1975 return 0;
1978 /* ?fail@ios_base@std@@QBE_NXZ */
1979 /* ?fail@ios_base@std@@QEBA_NXZ */
1980 DEFINE_THISCALL_WRAPPER(ios_base_fail, 4)
1981 MSVCP_bool __thiscall ios_base_fail(ios_base *this)
1983 FIXME("(%p) stub\n", this);
1984 return 0;
1987 /* ?flags@ios_base@std@@QAEHH@Z */
1988 /* ?flags@ios_base@std@@QEAAHH@Z */
1989 DEFINE_THISCALL_WRAPPER(ios_base_flags_set, 8)
1990 IOSB_fmtflags __thiscall ios_base_flags_set(ios_base *this, IOSB_fmtflags flags)
1992 FIXME("(%p %x) stub\n", this, flags);
1993 return 0;
1996 /* ?flags@ios_base@std@@QBEHXZ */
1997 /* ?flags@ios_base@std@@QEBAHXZ */
1998 DEFINE_THISCALL_WRAPPER(ios_base_flags_get, 4)
1999 IOSB_fmtflags __thiscall ios_base_flags_get(const ios_base *this)
2001 FIXME("(%p) stub\n", this);
2002 return 0;
2005 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
2006 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
2007 DEFINE_THISCALL_WRAPPER(ios_base_getloc, 8)
2008 locale* __thiscall ios_base_getloc(const ios_base *this, locale *ret)
2010 FIXME("(%p) stub\n", this);
2011 return ret;
2014 /* ?good@ios_base@std@@QBE_NXZ */
2015 /* ?good@ios_base@std@@QEBA_NXZ */
2016 DEFINE_THISCALL_WRAPPER(ios_base_good, 4)
2017 MSVCP_bool __thiscall ios_base_good(const ios_base *this)
2019 FIXME("(%p) stub\n", this);
2020 return FALSE;
2023 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
2024 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
2025 DEFINE_THISCALL_WRAPPER(ios_base_imbue, 12)
2026 locale* __thiscall ios_base_imbue(ios_base *this, locale *ret, const locale *loc)
2028 FIXME("(%p %p) stub\n", this, loc);
2029 return ret;
2032 /* ?iword@ios_base@std@@QAEAAJH@Z */
2033 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
2034 DEFINE_THISCALL_WRAPPER(ios_base_iword, 8)
2035 LONG* __thiscall ios_base_iword(ios_base *this, int index)
2037 FIXME("(%p %d) stub\n", this, index);
2038 return NULL;
2041 /* ?precision@ios_base@std@@QAEHH@Z */
2042 /* ?precision@ios_base@std@@QEAA_J_J@Z */
2043 DEFINE_THISCALL_WRAPPER(ios_base_precision_set, 8)
2044 MSVCP_size_t __thiscall ios_base_precision_set(ios_base *this, MSVCP_size_t precision)
2046 FIXME("(%p %lu) stub\n", this, precision);
2047 return 0;
2050 /* ?precision@ios_base@std@@QBEHXZ */
2051 /* ?precision@ios_base@std@@QEBA_JXZ */
2052 DEFINE_THISCALL_WRAPPER(ios_base_precision_get, 4)
2053 MSVCP_size_t __thiscall ios_base_precision_get(const ios_base *this)
2055 FIXME("(%p) stub\n", this);
2056 return 0;
2059 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
2060 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
2061 DEFINE_THISCALL_WRAPPER(ios_base_pword, 8)
2062 void** __thiscall ios_base_pword(ios_base *this, int index)
2064 FIXME("(%p %d) stub\n", this, index);
2065 return NULL;
2068 /* ?rdstate@ios_base@std@@QBEHXZ */
2069 /* ?rdstate@ios_base@std@@QEBAHXZ */
2070 DEFINE_THISCALL_WRAPPER(ios_base_rdstate, 4)
2071 IOSB_iostate __thiscall ios_base_rdstate(const ios_base *this)
2073 FIXME("(%p) stub\n", this);
2074 return 0;
2077 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
2078 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
2079 DEFINE_THISCALL_WRAPPER(ios_base_register_callback, 12)
2080 void __thiscall ios_base_register_callback(ios_base *this, IOS_BASE_event_callback callback, int index)
2082 FIXME("(%p %p %d) stub\n", this, callback, index);
2085 /* ?setf@ios_base@std@@QAEHHH@Z */
2086 /* ?setf@ios_base@std@@QEAAHHH@Z */
2087 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask, 12)
2088 IOSB_fmtflags __thiscall ios_base_setf_mask(ios_base *this, IOSB_fmtflags flags, IOSB_fmtflags mask)
2090 FIXME("(%p %x %x) stub\n", this, flags, mask);
2091 return 0;
2094 /* ?setf@ios_base@std@@QAEHH@Z */
2095 /* ?setf@ios_base@std@@QEAAHH@Z */
2096 DEFINE_THISCALL_WRAPPER(ios_base_setf, 8)
2097 IOSB_fmtflags __thiscall ios_base_setf(ios_base *this, IOSB_fmtflags flags)
2099 return ios_base_setf_mask(this, flags, ~0);
2102 /* ?setstate@ios_base@std@@QAEXH_N@Z */
2103 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
2104 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise, 12)
2105 void __thiscall ios_base_setstate_reraise(ios_base *this, IOSB_iostate state, MSVCP_bool reraise)
2107 FIXME("(%p %x %x) stub\n", this, state, reraise);
2110 /* ?setstate@ios_base@std@@QAEXH@Z */
2111 /* ?setstate@ios_base@std@@QEAAXH@Z */
2112 DEFINE_THISCALL_WRAPPER(ios_base_setstate, 8)
2113 void __thiscall ios_base_setstate(ios_base *this, IOSB_iostate state)
2115 ios_base_setstate_reraise(this, state, FALSE);
2118 /* ?setstate@ios_base@std@@QAEXI@Z */
2119 /* ?setstate@ios_base@std@@QEAAXI@Z */
2120 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned, 8)
2121 void __thiscall ios_base_setstate_unsigned(ios_base *this, unsigned int state)
2123 ios_base_setstate_reraise(this, (IOSB_iostate)state, FALSE);
2126 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
2127 MSVCP_bool CDECL ios_base_sync_with_stdio(MSVCP_bool sync)
2129 FIXME("(%x) stub\n", sync);
2130 return FALSE;
2133 /* ?unsetf@ios_base@std@@QAEXH@Z */
2134 /* ?unsetf@ios_base@std@@QEAAXH@Z */
2135 DEFINE_THISCALL_WRAPPER(ios_base_unsetf, 8)
2136 void __thiscall ios_base_unsetf(ios_base *this, IOSB_fmtflags flags)
2138 FIXME("(%p %x) stub\n", this, flags);
2141 /* ?width@ios_base@std@@QAEHH@Z */
2142 /* ?width@ios_base@std@@QEAA_J_J@Z */
2143 DEFINE_THISCALL_WRAPPER(ios_base_width_set, 8)
2144 MSVCP_size_t __thiscall ios_base_width_set(ios_base *this, MSVCP_size_t width)
2146 FIXME("(%p %lu) stub\n", this, width);
2147 return 0;
2150 /* ?width@ios_base@std@@QBEHXZ */
2151 /* ?width@ios_base@std@@QEBA_JXZ */
2152 DEFINE_THISCALL_WRAPPER(ios_base_width_get, 4)
2153 MSVCP_size_t __thiscall ios_base_width_get(ios_base *this)
2155 FIXME("(%p) stub\n", this);
2156 return 0;
2159 /* ?xalloc@ios_base@std@@SAHXZ */
2160 int CDECL ios_base_xalloc(void)
2162 FIXME("stub\n");
2163 return 0;
2166 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
2167 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
2168 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor, 4)
2169 basic_ios_char* __thiscall basic_ios_char_ctor(basic_ios_char *this)
2171 FIXME("(%p) stub\n", this);
2172 return NULL;
2175 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2176 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2177 DEFINE_THISCALL_WRAPPER(basic_ios_char_copy_ctor, 8)
2178 basic_ios_char* __thiscall basic_ios_char_copy_ctor(basic_ios_char *this, const basic_ios_char *copy)
2180 FIXME("(%p %p) stub\n", this, copy);
2181 return NULL;
2184 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
2185 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2186 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor, 4)
2187 void __thiscall basic_ios_char_dtor(basic_ios_char *this)
2189 FIXME("(%p) stub\n", this);
2192 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_char_vector_dtor, 8)
2193 basic_ios_char* __thiscall MSVCP_basic_ios_char_vector_dtor(basic_ios_char *this, unsigned int flags)
2195 TRACE("(%p %x) stub\n", this, flags);
2196 if(flags & 2) {
2197 /* we have an array, with the number of elements stored before the first object */
2198 int i, *ptr = (int *)this-1;
2200 for(i=*ptr-1; i>=0; i--)
2201 basic_ios_char_dtor(this+i);
2202 MSVCRT_operator_delete(ptr);
2203 } else {
2204 basic_ios_char_dtor(this);
2205 if(flags & 1)
2206 MSVCRT_operator_delete(this);
2209 return this;
2212 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
2213 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
2214 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise, 12)
2215 void __thiscall basic_ios_char_clear_reraise(basic_ios_char *this, IOSB_iostate state, MSVCP_bool reraise)
2217 FIXME("(%p %x %x) stub\n", this, state, reraise);
2220 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
2221 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
2222 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear, 8)
2223 void __thiscall basic_ios_char_clear(basic_ios_char *this, unsigned int state)
2225 basic_ios_char_clear_reraise(this, (IOSB_iostate)state, FALSE);
2228 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
2229 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
2230 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt, 8)
2231 basic_ios_char* __thiscall basic_ios_char_copyfmt(basic_ios_char *this, basic_ios_char *copy)
2233 FIXME("(%p %p) stub\n", this, copy);
2234 return NULL;
2237 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
2238 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
2239 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set, 8)
2240 char __thiscall basic_ios_char_fill_set(basic_ios_char *this, char fill)
2242 FIXME("(%p %c) stub\n", this, fill);
2243 return 0;
2246 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
2247 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
2248 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get, 4)
2249 char __thiscall basic_ios_char_fill_get(basic_ios_char *this)
2251 FIXME("(%p) stub\n", this);
2252 return 0;
2255 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2256 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2257 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue, 12)
2258 locale *__thiscall basic_ios_char_imbue(basic_ios_char *this, locale *ret, const locale *loc)
2260 FIXME("(%p %p %p) stub\n", this, ret, loc);
2261 return ret;
2264 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
2265 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
2266 DEFINE_THISCALL_WRAPPER(basic_ios_char_init, 12)
2267 void __thiscall basic_ios_char_init(basic_ios_char *this, basic_streambuf_char *streambuf, MSVCP_bool isstd)
2269 FIXME("(%p %p %x) stub\n", this, streambuf, isstd);
2272 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
2273 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
2274 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow, 12)
2275 char __thiscall basic_ios_char_narrow(basic_ios_char *this, char ch, char def)
2277 FIXME("(%p %c %c) stub\n", this, ch, def);
2278 return def;
2281 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
2282 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
2283 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set, 8)
2284 basic_streambuf_char* __thiscall basic_ios_char_rdbuf_set(basic_ios_char *this, basic_streambuf_char *streambuf)
2286 FIXME("(%p %p) stub\n", this, streambuf);
2287 return NULL;
2290 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
2291 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
2292 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get, 4)
2293 basic_streambuf_char* __thiscall basic_ios_char_rdbuf_get(const basic_ios_char *this)
2295 FIXME("(%p) stub\n", this);
2296 return NULL;
2299 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
2300 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
2301 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise, 12)
2302 void __thiscall basic_ios_char_setstate_reraise(basic_ios_char *this, IOSB_iostate state, MSVCP_bool reraise)
2304 FIXME("(%p %x %x) stub\n", this, state, reraise);
2307 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
2308 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
2309 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate, 8)
2310 void __thiscall basic_ios_char_setstate(basic_ios_char *this, unsigned int state)
2312 basic_ios_char_setstate_reraise(this, (IOSB_iostate)state, FALSE);
2315 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
2316 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
2317 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set, 8)
2318 basic_ostream_char* __thiscall basic_ios_char_tie_set(basic_ios_char *this, basic_ostream_char *ostream)
2320 FIXME("(%p %p) stub\n", this, ostream);
2321 return NULL;
2324 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
2325 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
2326 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get, 4)
2327 basic_ostream_char* __thiscall basic_ios_char_tie_get(const basic_ios_char *this)
2329 FIXME("(%p)\n", this);
2330 return NULL;
2333 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
2334 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
2335 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen, 8)
2336 char __thiscall basic_ios_char_widen(basic_ios_char *this, char ch)
2338 FIXME("(%p %c)\n", this, ch);
2339 return 0;
2343 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
2344 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
2345 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor, 4)
2346 basic_ios_wchar* __thiscall basic_ios_wchar_ctor(basic_ios_wchar *this)
2348 FIXME("(%p) stub\n", this);
2349 return NULL;
2352 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
2353 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
2354 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copy_ctor, 8)
2355 basic_ios_wchar* __thiscall basic_ios_wchar_copy_ctor(basic_ios_wchar *this, const basic_ios_wchar *copy)
2357 FIXME("(%p %p) stub\n", this, copy);
2358 return NULL;
2361 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
2362 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
2363 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor, 4)
2364 void __thiscall basic_ios_wchar_dtor(basic_ios_wchar *this)
2366 FIXME("(%p) stub\n", this);
2369 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_wchar_vector_dtor, 8)
2370 basic_ios_wchar* __thiscall MSVCP_basic_ios_wchar_vector_dtor(basic_ios_wchar *this, unsigned int flags)
2372 TRACE("(%p %x) stub\n", this, flags);
2373 if(flags & 2) {
2374 /* we have an array, with the number of elements stored before the first object */
2375 int i, *ptr = (int *)this-1;
2377 for(i=*ptr-1; i>=0; i--)
2378 basic_ios_wchar_dtor(this+i);
2379 MSVCRT_operator_delete(ptr);
2380 } else {
2381 basic_ios_wchar_dtor(this);
2382 if(flags & 1)
2383 MSVCRT_operator_delete(this);
2386 return this;
2389 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
2390 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
2391 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise, 12)
2392 void __thiscall basic_ios_wchar_clear_reraise(basic_ios_wchar *this, IOSB_iostate state, MSVCP_bool reraise)
2394 FIXME("(%p %x %x) stub\n", this, state, reraise);
2397 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
2398 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
2399 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear, 8)
2400 void __thiscall basic_ios_wchar_clear(basic_ios_wchar *this, unsigned int state)
2402 basic_ios_wchar_clear_reraise(this, (IOSB_iostate)state, FALSE);
2405 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
2406 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
2407 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt, 8)
2408 basic_ios_wchar* __thiscall basic_ios_wchar_copyfmt(basic_ios_wchar *this, basic_ios_wchar *copy)
2410 FIXME("(%p %p) stub\n", this, copy);
2411 return NULL;
2414 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
2415 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
2416 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set, 8)
2417 wchar_t __thiscall basic_ios_wchar_fill_set(basic_ios_wchar *this, wchar_t fill)
2419 FIXME("(%p %c) stub\n", this, fill);
2420 return 0;
2423 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
2424 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
2425 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get, 4)
2426 wchar_t __thiscall basic_ios_wchar_fill_get(basic_ios_wchar *this)
2428 FIXME("(%p) stub\n", this);
2429 return 0;
2432 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
2433 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
2434 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue, 12)
2435 locale *__thiscall basic_ios_wchar_imbue(basic_ios_wchar *this, locale *ret, const locale *loc)
2437 FIXME("(%p %p %p) stub\n", this, ret, loc);
2438 return ret;
2441 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
2442 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
2443 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init, 12)
2444 void __thiscall basic_ios_wchar_init(basic_ios_wchar *this, /*basic_streambuf_wchar*/void *streambuf, MSVCP_bool isstd)
2446 FIXME("(%p %p %x) stub\n", this, streambuf, isstd);
2449 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
2450 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
2451 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow, 12)
2452 char __thiscall basic_ios_wchar_narrow(basic_ios_wchar *this, wchar_t ch, char def)
2454 FIXME("(%p %c %c) stub\n", this, ch, def);
2455 return def;
2458 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
2459 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
2460 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set, 8)
2461 /*basic_streambuf_wchar*/void* __thiscall basic_ios_wchar_rdbuf_set(basic_ios_wchar *this, /*basic_streambuf_wchar*/void *streambuf)
2463 FIXME("(%p %p) stub\n", this, streambuf);
2464 return NULL;
2467 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
2468 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
2469 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get, 4)
2470 /*basic_streambuf_wchar*/void* __thiscall basic_ios_wchar_rdbuf_get(const basic_ios_wchar *this)
2472 FIXME("(%p) stub\n", this);
2473 return NULL;
2476 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
2477 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
2478 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise, 12)
2479 void __thiscall basic_ios_wchar_setstate_reraise(basic_ios_wchar *this, IOSB_iostate state, MSVCP_bool reraise)
2481 FIXME("(%p %x %x) stub\n", this, state, reraise);
2484 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
2485 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
2486 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate, 8)
2487 void __thiscall basic_ios_wchar_setstate(basic_ios_wchar *this, IOSB_iostate state)
2489 basic_ios_wchar_setstate_reraise(this, state, FALSE);
2492 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
2493 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
2494 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set, 8)
2495 /*basic_ostream_wchar*/void* __thiscall basic_ios_wchar_tie_set(basic_ios_wchar *this, /*basic_ostream_wchar*/void *ostream)
2497 FIXME("(%p %p) stub\n", this, ostream);
2498 return NULL;
2501 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
2502 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
2503 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get, 4)
2504 /*basic_ostream_wchar*/void* __thiscall basic_ios_wchar_tie_get(const basic_ios_wchar *this)
2506 FIXME("(%p)\n", this);
2507 return NULL;
2510 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
2511 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
2512 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen, 8)
2513 wchar_t __thiscall basic_ios_wchar_widen(basic_ios_wchar *this, char ch)
2515 FIXME("(%p %c)\n", this, ch);
2516 return 0;
2519 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
2520 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
2521 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor, 12)
2522 basic_ostream_char* __thiscall basic_ostream_char_ctor(basic_ostream_char *this, basic_streambuf_char *strbuf, MSVCP_bool isstd)
2524 FIXME("(%p %p %d) stub\n", this, strbuf, isstd);
2526 this->vtable = &MSVCP_basic_ostream_char_vtable+1;
2527 this->child.child.vtable = &MSVCP_basic_ostream_char_vtable;
2528 return NULL;
2531 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
2532 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
2533 DEFINE_THISCALL_WRAPPER(basic_ostream_char_uninitialized, 12)
2534 basic_ostream_char* __thiscall basic_ostream_char_uninitialized(basic_ostream_char *this, int uninitialized, MSVCP_bool addstd)
2536 FIXME("(%p %d %x) stub\n", this, uninitialized, addstd);
2537 return NULL;
2540 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
2541 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
2542 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor, 4)
2543 void __thiscall basic_ostream_char_dtor(basic_ostream_char *this)
2545 FIXME("(%p) stub\n", this);
2548 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_char_vector_dtor, 8)
2549 basic_ostream_char* __thiscall MSVCP_basic_ostream_char_vector_dtor(basic_ostream_char *this, unsigned int flags)
2551 TRACE("(%p %x) stub\n", this, flags);
2552 if(flags & 2) {
2553 /* we have an array, with the number of elements stored before the first object */
2554 int i, *ptr = (int *)this-1;
2556 for(i=*ptr-1; i>=0; i--)
2557 basic_ostream_char_dtor(this+i);
2558 MSVCRT_operator_delete(ptr);
2559 } else {
2560 basic_ostream_char_dtor(this);
2561 if(flags & 1)
2562 MSVCRT_operator_delete(this);
2565 return this;
2568 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
2569 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
2570 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short, 8)
2571 basic_ostream_char* __thiscall basic_ostream_char_print_short(basic_ostream_char *this, short val)
2573 FIXME("(%p %d) stub\n", this, val);
2574 return NULL;
2577 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
2578 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
2579 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort, 8)
2580 basic_ostream_char* __thiscall basic_ostream_char_print_ushort(basic_ostream_char *this, unsigned short val)
2582 FIXME("(%p %d) stub\n", this, val);
2583 return NULL;
2586 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
2587 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
2588 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int, 8)
2589 basic_ostream_char* __thiscall basic_ostream_char_print_int(basic_ostream_char *this, int val)
2591 FIXME("(%p %d) stub\n", this, val);
2592 return NULL;
2595 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
2596 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
2597 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint, 8)
2598 basic_ostream_char* __thiscall basic_ostream_char_print_uint(basic_ostream_char *this, unsigned int val)
2600 FIXME("(%p %d) stub\n", this, val);
2601 return NULL;
2604 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
2605 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
2606 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_long, 8)
2607 basic_ostream_char* __thiscall basic_ostream_char_print_long(basic_ostream_char *this, LONG val)
2609 FIXME("(%p %d) stub\n", this, val);
2610 return NULL;
2613 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
2614 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
2615 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ulong, 8)
2616 basic_ostream_char* __thiscall basic_ostream_char_print_ulong(basic_ostream_char *this, ULONG val)
2618 FIXME("(%p %d) stub\n", this, val);
2619 return NULL;
2622 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
2623 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
2624 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float, 8)
2625 basic_ostream_char* __thiscall basic_ostream_char_print_float(basic_ostream_char *this, float val)
2627 FIXME("(%p %f) stub\n", this, val);
2628 return NULL;
2631 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
2632 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
2633 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double, 12)
2634 basic_ostream_char* __thiscall basic_ostream_char_print_double(basic_ostream_char *this, double val)
2636 FIXME("(%p %lf) stub\n", this, val);
2637 return NULL;
2640 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2641 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
2642 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf, 8)
2643 basic_ostream_char* __thiscall basic_ostream_char_print_streambuf(basic_ostream_char *this, basic_streambuf_char *val)
2645 FIXME("(%p %p) stub\n", this, val);
2646 return NULL;
2649 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
2650 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
2651 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr, 8)
2652 basic_ostream_char* __thiscall basic_ostream_char_print_ptr(basic_ostream_char *this, const void *val)
2654 FIXME("(%p %p) stub\n", this, val);
2655 return NULL;
2658 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
2659 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
2660 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64, 12)
2661 basic_ostream_char* __thiscall basic_ostream_char_print_int64(basic_ostream_char *this, __int64 val)
2663 FIXME("(%p) stub\n", this);
2664 return NULL;
2667 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
2668 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
2669 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64, 12)
2670 basic_ostream_char* __thiscall basic_ostream_char_print_uint64(basic_ostream_char *this, unsigned __int64 val)
2672 FIXME("(%p) stub\n", this);
2673 return NULL;
2676 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
2677 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
2678 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool, 8)
2679 basic_ostream_char* __thiscall basic_ostream_char_print_bool(basic_ostream_char *this, MSVCP_bool val)
2681 FIXME("(%p %x) stub\n", this, val);
2682 return NULL;
2685 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
2686 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2687 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx, 4)
2688 void __thiscall basic_ostream_char__Osfx(basic_ostream_char *this)
2690 FIXME("(%p) stub\n", this);
2693 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
2694 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
2695 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush, 4)
2696 basic_ostream_char* __thiscall basic_ostream_char_flush(basic_ostream_char *this)
2698 FIXME("(%p) stub\n", this);
2699 return NULL;
2702 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
2703 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
2704 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx, 4)
2705 MSVCP_bool __thiscall basic_ostream_char_opfx(basic_ostream_char *this)
2707 FIXME("(%p) stub\n", this);
2708 return 0;
2711 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
2712 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
2713 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx, 4)
2714 void __thiscall basic_ostream_char_osfx(basic_ostream_char *this)
2716 FIXME("(%p) stub\n", this);
2719 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
2720 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
2721 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put, 8)
2722 basic_ostream_char* __thiscall basic_ostream_char_put(basic_ostream_char *this, char ch)
2724 FIXME("(%p %c) stub\n", this, ch);
2725 return NULL;
2728 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
2729 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
2730 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp, 12)
2731 basic_ostream_char* __thiscall basic_ostream_char_seekp(basic_ostream_char *this, streamoff off, int way)
2733 FIXME("(%p %lu %d) stub\n", this, off, way);
2734 return NULL;
2737 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
2738 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
2739 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos, 28)
2740 basic_ostream_char* __thiscall basic_ostream_char_seekp_fpos(basic_ostream_char *this, fpos_int pos)
2742 FIXME("(%p %s) stub\n", this, debugstr_fpos_int(&pos));
2743 return NULL;
2746 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
2747 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
2748 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp, 8)
2749 fpos_int* __thiscall basic_ostream_char_tellp(basic_ostream_char *this, fpos_int *ret)
2751 FIXME("(%p) stub\n", this);
2752 return ret;
2755 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
2756 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
2757 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write, 12)
2758 basic_ostream_char* __thiscall basic_ostream_char_write(basic_ostream_char *this, const char *str, streamsize count)
2760 FIXME("(%p %s %lu) stub\n", this, debugstr_a(str), count);
2761 return NULL;