msvcp90: Add basic_ios<wchar_t> stubs.
[wine.git] / dlls / msvcp90 / ios.c
blob7c490a045809915ee194b9b254dc5dbb1b9781d8
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 void __thiscall basic_streambuf_char__Init_empty(basic_streambuf_char*);
130 void __thiscall basic_streambuf_char_setp(basic_streambuf_char*, char*, char*);
131 void __thiscall basic_streambuf_char_setg(basic_streambuf_char*, char*, char*, char*);
133 typedef struct {
134 ios_base child;
135 basic_streambuf_char *strbuf;
136 struct basic_ostream_char *stream;
137 char fillch;
138 } basic_ios_char;
140 typedef struct {
141 ios_base child;
142 /*basic_streambuf_wchar*/void *strbuf;
143 /*basic_ostream_wchar*/void *stream;
144 char fillch;
145 } basic_ios_wchar;
147 typedef struct {
148 const vtable_ptr *vtable;
149 basic_ios_char child;
150 } basic_ostream_char;
152 /* ??_7ios_base@std@@6B@ */
153 extern const vtable_ptr MSVCP_ios_base_vtable;
155 /* ??_7?$basic_ios@DU?$char_traits@D@std@@@std@@6B@ */
156 extern const vtable_ptr MSVCP_basic_ios_char_vtable;
158 /* ??_7?$basic_ios@_WU?$char_traits@_W@std@@@std@@6B@ */
159 extern const vtable_ptr MSVCP_basic_ios_wchar_vtable;
161 /* ??_7?$basic_streambuf@DU?$char_traits@D@std@@@std@@6B@ */
162 extern const vtable_ptr MSVCP_basic_streambuf_char_vtable;
164 /* ??_7?$basic_ostream@DU?$char_traits@D@std@@@std@@6B@ */
165 extern const vtable_ptr MSVCP_basic_ostream_char_vtable;
167 static const type_info iosb_type_info = {
168 &MSVCP_ios_base_vtable,
169 NULL,
170 ".?AV?$_Iosb@H@std@@"
173 static const rtti_base_descriptor iosb_rtti_base_descriptor = {
174 &iosb_type_info,
176 { 4, -1, 0 },
180 DEFINE_RTTI_DATA(ios_base, 0, 1, &iosb_rtti_base_descriptor, NULL, NULL, ".?AV?$_Iosb@H@std@@");
181 DEFINE_RTTI_DATA(basic_ios_char, 0, 2, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor,
182 NULL, ".?AV?$basic_ios@DU?$char_traits@D@std@@@std@@");
183 DEFINE_RTTI_DATA(basic_ios_wchar, 0, 2, &ios_base_rtti_base_descriptor, &iosb_rtti_base_descriptor,
184 NULL, ".?AV?$basic_ios@_WU?$char_traits@_W@std@@@std@@");
185 DEFINE_RTTI_DATA(basic_streambuf_char, 0, 0, NULL, NULL, NULL,
186 ".?AV?$basic_streambuf@DU?$char_traits@D@std@@@std@@");
187 DEFINE_RTTI_DATA(basic_ostream_char, 4, 3, &basic_ios_char_rtti_base_descriptor, &ios_base_rtti_base_descriptor,
188 &iosb_rtti_base_descriptor, ".?AV?$basic_ostream@DU?$char_traits@D@std@@@std@@");
190 #ifndef __GNUC__
191 void __asm_dummy_vtables(void) {
192 #endif
193 __ASM_VTABLE(ios_base, "");
194 __ASM_VTABLE(basic_ios_char, "");
195 __ASM_VTABLE(basic_ios_wchar, "");
196 __ASM_VTABLE(basic_streambuf_char,
197 VTABLE_ADD_FUNC(basic_streambuf_char_overflow)
198 VTABLE_ADD_FUNC(basic_streambuf_char_pbackfail)
199 VTABLE_ADD_FUNC(basic_streambuf_char_showmanyc)
200 VTABLE_ADD_FUNC(basic_streambuf_char_underflow)
201 VTABLE_ADD_FUNC(basic_streambuf_char_uflow)
202 VTABLE_ADD_FUNC(basic_streambuf_char_xsgetn)
203 VTABLE_ADD_FUNC(basic_streambuf_char__Xsgetn_s)
204 VTABLE_ADD_FUNC(basic_streambuf_char_xsputn)
205 VTABLE_ADD_FUNC(basic_streambuf_char_seekoff)
206 VTABLE_ADD_FUNC(basic_streambuf_char_seekpos)
207 VTABLE_ADD_FUNC(basic_streambuf_char_setbuf)
208 VTABLE_ADD_FUNC(basic_streambuf_char_sync)
209 VTABLE_ADD_FUNC(basic_streambuf_char_imbue));
210 __ASM_VTABLE(basic_ostream_char, "");
211 #ifndef __GNUC__
213 #endif
215 /* ??0ios_base@std@@IAE@XZ */
216 /* ??0ios_base@std@@IEAA@XZ */
217 DEFINE_THISCALL_WRAPPER(ios_base_ctor, 4)
218 ios_base* __thiscall ios_base_ctor(ios_base *this)
220 FIXME("(%p) stub\n", this);
222 this->vtable = &MSVCP_ios_base_vtable;
223 return NULL;
226 /* ??0ios_base@std@@QAE@ABV01@@Z */
227 /* ??0ios_base@std@@QEAA@AEBV01@@Z */
228 DEFINE_THISCALL_WRAPPER(ios_base_copy_ctor, 8)
229 ios_base* __thiscall ios_base_copy_ctor(ios_base *this, const ios_base *copy)
231 FIXME("(%p %p) stub\n", this, copy);
232 return NULL;
235 /* ??1ios_base@std@@UAE@XZ */
236 /* ??1ios_base@std@@UEAA@XZ */
237 DEFINE_THISCALL_WRAPPER(ios_base_dtor, 4)
238 void __thiscall ios_base_dtor(ios_base *this)
240 FIXME("(%p) stub\n", this);
243 DEFINE_THISCALL_WRAPPER(MSVCP_ios_base_vector_dtor, 8)
244 ios_base* __thiscall MSVCP_ios_base_vector_dtor(ios_base *this, unsigned int flags)
246 TRACE("(%p %x) stub\n", this, flags);
247 if(flags & 2) {
248 /* we have an array, with the number of elements stored before the first object */
249 int i, *ptr = (int *)this-1;
251 for(i=*ptr-1; i>=0; i--)
252 ios_base_dtor(this+i);
253 MSVCRT_operator_delete(ptr);
254 } else {
255 ios_base_dtor(this);
256 if(flags & 1)
257 MSVCRT_operator_delete(this);
260 return this;
263 /* ??4ios_base@std@@QAEAAV01@ABV01@@Z */
264 /* ??4ios_base@std@@QEAAAEAV01@AEBV01@@Z */
265 DEFINE_THISCALL_WRAPPER(ios_base_assign, 8)
266 ios_base* __thiscall ios_base_assign(ios_base *this, const ios_base *right)
268 FIXME("(%p %p) stub\n", this, right);
269 return NULL;
272 /* ??7ios_base@std@@QBE_NXZ */
273 /* ??7ios_base@std@@QEBA_NXZ */
274 DEFINE_THISCALL_WRAPPER(ios_base_op_succ, 4)
275 MSVCP_bool __thiscall ios_base_op_succ(const ios_base *this)
277 FIXME("(%p) stub\n", this);
278 return FALSE;
281 /* ??Bios_base@std@@QBEPAXXZ */
282 /* ??Bios_base@std@@QEBAPEAXXZ */
283 DEFINE_THISCALL_WRAPPER(ios_base_op_fail, 4)
284 void* __thiscall ios_base_op_fail(const ios_base *this)
286 FIXME("(%p) stub\n", this);
287 return NULL;
290 /* ?_Addstd@ios_base@std@@SAXPAV12@@Z */
291 /* ?_Addstd@ios_base@std@@SAXPEAV12@@Z */
292 void CDECL ios_base_Addstd(ios_base *add)
294 FIXME("(%p) stub\n", add);
297 /* ?_Callfns@ios_base@std@@AAEXW4event@12@@Z */
298 /* ?_Callfns@ios_base@std@@AEAAXW4event@12@@Z */
299 DEFINE_THISCALL_WRAPPER(ios_base_Callfns, 8)
300 void __thiscall ios_base_Callfns(ios_base *this, IOS_BASE_event event)
302 FIXME("(%p %x) stub\n", this, event);
305 /* ?_Findarr@ios_base@std@@AAEAAU_Iosarray@12@H@Z */
306 /* ?_Findarr@ios_base@std@@AEAAAEAU_Iosarray@12@H@Z */
307 DEFINE_THISCALL_WRAPPER(ios_base_Findarr, 8)
308 IOS_BASE_iosarray* __thiscall ios_base_Findarr(ios_base *this, int index)
310 FIXME("(%p %d) stub\n", this, index);
311 return NULL;
314 /* ?_Index_func@ios_base@std@@CAAAHXZ */
315 /* ?_Index_func@ios_base@std@@CAAEAHXZ */
316 int* CDECL ios_base_Index_func(void)
318 TRACE("\n");
319 return &ios_base_Index;
322 /* ?_Init@ios_base@std@@IAEXXZ */
323 /* ?_Init@ios_base@std@@IEAAXXZ */
324 DEFINE_THISCALL_WRAPPER(ios_base_Init, 4)
325 void __thiscall ios_base_Init(ios_base *this)
327 FIXME("(%p) stub\n", this);
330 /* ?_Ios_base_dtor@ios_base@std@@CAXPAV12@@Z */
331 /* ?_Ios_base_dtor@ios_base@std@@CAXPEAV12@@Z */
332 void CDECL ios_base_Ios_base_dtor(ios_base *obj)
334 FIXME("(%p) stub\n", obj);
337 /* ?_Sync_func@ios_base@std@@CAAA_NXZ */
338 /* ?_Sync_func@ios_base@std@@CAAEA_NXZ */
339 MSVCP_bool* CDECL ios_base_Sync_func(void)
341 TRACE("\n");
342 return &ios_base_Sync;
345 /* ?_Tidy@ios_base@std@@AAAXXZ */
346 /* ?_Tidy@ios_base@std@@AEAAXXZ */
347 void CDECL ios_base_Tidy(ios_base *this)
349 FIXME("(%p) stub\n", this);
352 /* ?bad@ios_base@std@@QBE_NXZ */
353 /* ?bad@ios_base@std@@QEBA_NXZ */
354 DEFINE_THISCALL_WRAPPER(ios_base_bad, 4)
355 MSVCP_bool __thiscall ios_base_bad(const ios_base *this)
357 FIXME("(%p) stub\n", this);
358 return FALSE;
361 /* ?clear@ios_base@std@@QAEXH_N@Z */
362 /* ?clear@ios_base@std@@QEAAXH_N@Z */
363 DEFINE_THISCALL_WRAPPER(ios_base_clear_reraise, 12)
364 void __thiscall ios_base_clear_reraise(ios_base *this, IOSB_iostate state, MSVCP_bool reraise)
366 FIXME("(%p %x %x) stub\n", this, state, reraise);
369 /* ?clear@ios_base@std@@QAEXH@Z */
370 /* ?clear@ios_base@std@@QEAAXH@Z */
371 DEFINE_THISCALL_WRAPPER(ios_base_clear, 8)
372 void __thiscall ios_base_clear(ios_base *this, IOSB_iostate state)
374 ios_base_clear_reraise(this, state, FALSE);
377 /* ?clear@ios_base@std@@QAEXI@Z */
378 /* ?clear@ios_base@std@@QEAAXI@Z */
379 DEFINE_THISCALL_WRAPPER(ios_base_clear_unsigned, 8)
380 void __thiscall ios_base_clear_unsigned(ios_base *this, unsigned int state)
382 ios_base_clear_reraise(this, (IOSB_iostate)state, FALSE);
385 /* ?copyfmt@ios_base@std@@QAEAAV12@ABV12@@Z */
386 /* ?copyfmt@ios_base@std@@QEAAAEAV12@AEBV12@@Z */
387 DEFINE_THISCALL_WRAPPER(ios_base_copyfmt, 8)
388 ios_base* __thiscall ios_base_copyfmt(ios_base *this, const ios_base *obj)
390 FIXME("(%p %p) stub\n", this, obj);
391 return NULL;
394 /* ?eof@ios_base@std@@QBE_NXZ */
395 /* ?eof@ios_base@std@@QEBA_NXZ */
396 DEFINE_THISCALL_WRAPPER(ios_base_eof, 4)
397 MSVCP_bool __thiscall ios_base_eof(const ios_base *this)
399 FIXME("(%p) stub\n", this);
400 return FALSE;
403 /* ?exceptions@ios_base@std@@QAEXH@Z */
404 /* ?exceptions@ios_base@std@@QEAAXH@Z */
405 DEFINE_THISCALL_WRAPPER(ios_base_exception_set, 8)
406 void __thiscall ios_base_exception_set(ios_base *this, IOSB_iostate state)
408 FIXME("(%p %x) stub\n", this, state);
411 /* ?exceptions@ios_base@std@@QAEXI@Z */
412 /* ?exceptions@ios_base@std@@QEAAXI@Z */
413 DEFINE_THISCALL_WRAPPER(ios_base_exception_set_unsigned, 8)
414 void __thiscall ios_base_exception_set_unsigned(ios_base *this, unsigned int state)
416 FIXME("(%p %x) stub\n", this, state);
419 /* ?exceptions@ios_base@std@@QBEHXZ */
420 /* ?exceptions@ios_base@std@@QEBAHXZ */
421 DEFINE_THISCALL_WRAPPER(ios_base_exception_get, 4)
422 IOSB_iostate __thiscall ios_base_exception_get(ios_base *this)
424 FIXME("(%p) stub\n", this);
425 return 0;
428 /* ?fail@ios_base@std@@QBE_NXZ */
429 /* ?fail@ios_base@std@@QEBA_NXZ */
430 DEFINE_THISCALL_WRAPPER(ios_base_fail, 4)
431 MSVCP_bool __thiscall ios_base_fail(ios_base *this)
433 FIXME("(%p) stub\n", this);
434 return 0;
437 /* ?flags@ios_base@std@@QAEHH@Z */
438 /* ?flags@ios_base@std@@QEAAHH@Z */
439 DEFINE_THISCALL_WRAPPER(ios_base_flags_set, 8)
440 IOSB_fmtflags __thiscall ios_base_flags_set(ios_base *this, IOSB_fmtflags flags)
442 FIXME("(%p %x) stub\n", this, flags);
443 return 0;
446 /* ?flags@ios_base@std@@QBEHXZ */
447 /* ?flags@ios_base@std@@QEBAHXZ */
448 DEFINE_THISCALL_WRAPPER(ios_base_flags_get, 4)
449 IOSB_fmtflags __thiscall ios_base_flags_get(const ios_base *this)
451 FIXME("(%p) stub\n", this);
452 return 0;
455 /* ?getloc@ios_base@std@@QBE?AVlocale@2@XZ */
456 /* ?getloc@ios_base@std@@QEBA?AVlocale@2@XZ */
457 DEFINE_THISCALL_WRAPPER(ios_base_getloc, 4)
458 locale __thiscall ios_base_getloc(const ios_base *this)
460 locale ret = { NULL };
461 FIXME("(%p) stub\n", this);
462 return ret;
465 /* ?good@ios_base@std@@QBE_NXZ */
466 /* ?good@ios_base@std@@QEBA_NXZ */
467 DEFINE_THISCALL_WRAPPER(ios_base_good, 4)
468 MSVCP_bool __thiscall ios_base_good(const ios_base *this)
470 FIXME("(%p) stub\n", this);
471 return FALSE;
474 /* ?imbue@ios_base@std@@QAE?AVlocale@2@ABV32@@Z */
475 /* ?imbue@ios_base@std@@QEAA?AVlocale@2@AEBV32@@Z */
476 DEFINE_THISCALL_WRAPPER(ios_base_imbue, 8)
477 locale __thiscall ios_base_imbue(ios_base *this, const locale *loc)
479 locale ret = { NULL };
480 FIXME("(%p %p) stub\n", this, loc);
481 return ret;
484 /* ?iword@ios_base@std@@QAEAAJH@Z */
485 /* ?iword@ios_base@std@@QEAAAEAJH@Z */
486 DEFINE_THISCALL_WRAPPER(ios_base_iword, 8)
487 LONG* __thiscall ios_base_iword(ios_base *this, int index)
489 FIXME("(%p %d) stub\n", this, index);
490 return NULL;
493 /* ?precision@ios_base@std@@QAEHH@Z */
494 /* ?precision@ios_base@std@@QEAA_J_J@Z */
495 DEFINE_THISCALL_WRAPPER(ios_base_precision_set, 8)
496 MSVCP_size_t __thiscall ios_base_precision_set(ios_base *this, MSVCP_size_t precision)
498 FIXME("(%p %lu) stub\n", this, precision);
499 return 0;
502 /* ?precision@ios_base@std@@QBEHXZ */
503 /* ?precision@ios_base@std@@QEBA_JXZ */
504 DEFINE_THISCALL_WRAPPER(ios_base_precision_get, 4)
505 MSVCP_size_t __thiscall ios_base_precision_get(const ios_base *this)
507 FIXME("(%p) stub\n", this);
508 return 0;
511 /* ?pword@ios_base@std@@QAEAAPAXH@Z */
512 /* ?pword@ios_base@std@@QEAAAEAPEAXH@Z */
513 DEFINE_THISCALL_WRAPPER(ios_base_pword, 8)
514 void** __thiscall ios_base_pword(ios_base *this, int index)
516 FIXME("(%p %d) stub\n", this, index);
517 return NULL;
520 /* ?rdstate@ios_base@std@@QBEHXZ */
521 /* ?rdstate@ios_base@std@@QEBAHXZ */
522 DEFINE_THISCALL_WRAPPER(ios_base_rdstate, 4)
523 IOSB_iostate __thiscall ios_base_rdstate(const ios_base *this)
525 FIXME("(%p) stub\n", this);
526 return 0;
529 /* ?register_callback@ios_base@std@@QAEXP6AXW4event@12@AAV12@H@ZH@Z */
530 /* ?register_callback@ios_base@std@@QEAAXP6AXW4event@12@AEAV12@H@ZH@Z */
531 DEFINE_THISCALL_WRAPPER(ios_base_register_callback, 12)
532 void __thiscall ios_base_register_callback(ios_base *this, IOS_BASE_event_callback callback, int index)
534 FIXME("(%p %p %d) stub\n", this, callback, index);
537 /* ?setf@ios_base@std@@QAEHHH@Z */
538 /* ?setf@ios_base@std@@QEAAHHH@Z */
539 DEFINE_THISCALL_WRAPPER(ios_base_setf_mask, 12)
540 IOSB_fmtflags __thiscall ios_base_setf_mask(ios_base *this, IOSB_fmtflags flags, IOSB_fmtflags mask)
542 FIXME("(%p %x %x) stub\n", this, flags, mask);
543 return 0;
546 /* ?setf@ios_base@std@@QAEHH@Z */
547 /* ?setf@ios_base@std@@QEAAHH@Z */
548 DEFINE_THISCALL_WRAPPER(ios_base_setf, 8)
549 IOSB_fmtflags __thiscall ios_base_setf(ios_base *this, IOSB_fmtflags flags)
551 return ios_base_setf_mask(this, flags, ~0);
554 /* ?setstate@ios_base@std@@QAEXH_N@Z */
555 /* ?setstate@ios_base@std@@QEAAXH_N@Z */
556 DEFINE_THISCALL_WRAPPER(ios_base_setstate_reraise, 12)
557 void __thiscall ios_base_setstate_reraise(ios_base *this, IOSB_iostate state, MSVCP_bool reraise)
559 FIXME("(%p %x %x) stub\n", this, state, reraise);
562 /* ?setstate@ios_base@std@@QAEXH@Z */
563 /* ?setstate@ios_base@std@@QEAAXH@Z */
564 DEFINE_THISCALL_WRAPPER(ios_base_setstate, 8)
565 void __thiscall ios_base_setstate(ios_base *this, IOSB_iostate state)
567 ios_base_setstate_reraise(this, state, FALSE);
570 /* ?setstate@ios_base@std@@QAEXI@Z */
571 /* ?setstate@ios_base@std@@QEAAXI@Z */
572 DEFINE_THISCALL_WRAPPER(ios_base_setstate_unsigned, 8)
573 void __thiscall ios_base_setstate_unsigned(ios_base *this, unsigned int state)
575 ios_base_setstate_reraise(this, (IOSB_iostate)state, FALSE);
578 /* ?sync_with_stdio@ios_base@std@@SA_N_N@Z */
579 MSVCP_bool CDECL ios_base_sync_with_stdio(MSVCP_bool sync)
581 FIXME("(%x) stub\n", sync);
582 return FALSE;
585 /* ?unsetf@ios_base@std@@QAEXH@Z */
586 /* ?unsetf@ios_base@std@@QEAAXH@Z */
587 DEFINE_THISCALL_WRAPPER(ios_base_unsetf, 8)
588 void __thiscall ios_base_unsetf(ios_base *this, IOSB_fmtflags flags)
590 FIXME("(%p %x) stub\n", this, flags);
593 /* ?width@ios_base@std@@QAEHH@Z */
594 /* ?width@ios_base@std@@QEAA_J_J@Z */
595 DEFINE_THISCALL_WRAPPER(ios_base_width_set, 8)
596 MSVCP_size_t __thiscall ios_base_width_set(ios_base *this, MSVCP_size_t width)
598 FIXME("(%p %lu) stub\n", this, width);
599 return 0;
602 /* ?width@ios_base@std@@QBEHXZ */
603 /* ?width@ios_base@std@@QEBA_JXZ */
604 DEFINE_THISCALL_WRAPPER(ios_base_width_get, 4)
605 MSVCP_size_t __thiscall ios_base_width_get(ios_base *this)
607 FIXME("(%p) stub\n", this);
608 return 0;
611 /* ?xalloc@ios_base@std@@SAHXZ */
612 int CDECL ios_base_xalloc(void)
614 FIXME("stub\n");
615 return 0;
618 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ */
619 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@IEAA@XZ */
620 DEFINE_THISCALL_WRAPPER(basic_ios_char_ctor, 4)
621 basic_ios_char* __thiscall basic_ios_char_ctor(basic_ios_char *this)
623 FIXME("(%p) stub\n", this);
624 return NULL;
627 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
628 /* ??0?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
629 DEFINE_THISCALL_WRAPPER(basic_ios_char_copy_ctor, 8)
630 basic_ios_char* __thiscall basic_ios_char_copy_ctor(basic_ios_char *this, const basic_ios_char *copy)
632 FIXME("(%p %p) stub\n", this, copy);
633 return NULL;
636 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ */
637 /* ??1?$basic_ios@DU?$char_traits@D@std@@@std@@UEAA@XZ */
638 DEFINE_THISCALL_WRAPPER(basic_ios_char_dtor, 4)
639 void __thiscall basic_ios_char_dtor(basic_ios_char *this)
641 FIXME("(%p) stub\n", this);
644 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_char_vector_dtor, 8)
645 basic_ios_char* __thiscall MSVCP_basic_ios_char_vector_dtor(basic_ios_char *this, unsigned int flags)
647 TRACE("(%p %x) stub\n", this, flags);
648 if(flags & 2) {
649 /* we have an array, with the number of elements stored before the first object */
650 int i, *ptr = (int *)this-1;
652 for(i=*ptr-1; i>=0; i--)
653 basic_ios_char_dtor(this+i);
654 MSVCRT_operator_delete(ptr);
655 } else {
656 basic_ios_char_dtor(this);
657 if(flags & 1)
658 MSVCRT_operator_delete(this);
661 return this;
664 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
665 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
666 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear_reraise, 12)
667 void __thiscall basic_ios_char_clear_reraise(basic_ios_char *this, IOSB_iostate state, MSVCP_bool reraise)
669 FIXME("(%p %x %x) stub\n", this, state, reraise);
672 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
673 /* ?clear@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
674 DEFINE_THISCALL_WRAPPER(basic_ios_char_clear, 8)
675 void __thiscall basic_ios_char_clear(basic_ios_char *this, unsigned int state)
677 basic_ios_char_clear_reraise(this, (IOSB_iostate)state, FALSE);
680 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEAAV12@ABV12@@Z */
681 /* ?copyfmt@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAAEAV12@AEBV12@@Z */
682 DEFINE_THISCALL_WRAPPER(basic_ios_char_copyfmt, 8)
683 basic_ios_char* __thiscall basic_ios_char_copyfmt(basic_ios_char *this, basic_ios_char *copy)
685 FIXME("(%p %p) stub\n", this, copy);
686 return NULL;
689 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEDD@Z */
690 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAADD@Z */
691 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_set, 8)
692 char __thiscall basic_ios_char_fill_set(basic_ios_char *this, char fill)
694 FIXME("(%p %c) stub\n", this, fill);
695 return 0;
698 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ */
699 /* ?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADXZ */
700 DEFINE_THISCALL_WRAPPER(basic_ios_char_fill_get, 4)
701 char __thiscall basic_ios_char_fill_get(basic_ios_char *this)
703 FIXME("(%p) stub\n", this);
704 return 0;
707 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
708 /* ?imbue@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
709 DEFINE_THISCALL_WRAPPER(basic_ios_char_imbue, 4)
710 locale __thiscall basic_ios_char_imbue(basic_ios_char *this)
712 locale ret = { NULL };
713 FIXME("(%p) stub\n", this);
714 return ret;
717 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IAEXPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
718 /* ?init@?$basic_ios@DU?$char_traits@D@std@@@std@@IEAAXPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@_N@Z */
719 DEFINE_THISCALL_WRAPPER(basic_ios_char_init, 12)
720 void __thiscall basic_ios_char_init(basic_ios_char *this, basic_streambuf_char *streambuf, MSVCP_bool isstd)
722 FIXME("(%p %p %x) stub\n", this, streambuf, isstd);
725 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDDD@Z */
726 /* ?narrow@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADDD@Z */
727 DEFINE_THISCALL_WRAPPER(basic_ios_char_narrow, 12)
728 char __thiscall basic_ios_char_narrow(basic_ios_char *this, char ch, char def)
730 FIXME("(%p %c %c) stub\n", this, ch, def);
731 return def;
734 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PAV32@@Z */
735 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@PEAV32@@Z */
736 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_set, 8)
737 basic_streambuf_char* __thiscall basic_ios_char_rdbuf_set(basic_ios_char *this, basic_streambuf_char *streambuf)
739 FIXME("(%p %p) stub\n", this, streambuf);
740 return NULL;
743 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
744 /* ?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ */
745 DEFINE_THISCALL_WRAPPER(basic_ios_char_rdbuf_get, 4)
746 basic_streambuf_char* __thiscall basic_ios_char_rdbuf_get(const basic_ios_char *this)
748 FIXME("(%p) stub\n", this);
749 return NULL;
752 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z */
753 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXH_N@Z */
754 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate_reraise, 12)
755 void __thiscall basic_ios_char_setstate_reraise(basic_ios_char *this, IOSB_iostate state, MSVCP_bool reraise)
757 FIXME("(%p %x %x) stub\n", this, state, reraise);
760 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXI@Z */
761 /* ?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAXI@Z */
762 DEFINE_THISCALL_WRAPPER(basic_ios_char_setstate, 8)
763 void __thiscall basic_ios_char_setstate(basic_ios_char *this, unsigned int state)
765 basic_ios_char_setstate_reraise(this, (IOSB_iostate)state, FALSE);
768 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@PAV32@@Z */
769 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEAAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@PEAV32@@Z */
770 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_set, 8)
771 basic_ostream_char* __thiscall basic_ios_char_tie_set(basic_ios_char *this, basic_ostream_char *ostream)
773 FIXME("(%p %p) stub\n", this, ostream);
774 return NULL;
777 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
778 /* ?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBAPEAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ */
779 DEFINE_THISCALL_WRAPPER(basic_ios_char_tie_get, 4)
780 basic_ostream_char* __thiscall basic_ios_char_tie_get(const basic_ios_char *this)
782 FIXME("(%p)\n", this);
783 return NULL;
786 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDD@Z */
787 /* ?widen@?$basic_ios@DU?$char_traits@D@std@@@std@@QEBADD@Z */
788 DEFINE_THISCALL_WRAPPER(basic_ios_char_widen, 8)
789 char __thiscall basic_ios_char_widen(basic_ios_char *this, char ch)
791 FIXME("(%p %c)\n", this, ch);
792 return 0;
796 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAE@XZ */
797 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAA@XZ */
798 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_ctor, 4)
799 basic_ios_wchar* __thiscall basic_ios_wchar_ctor(basic_ios_wchar *this)
801 FIXME("(%p) stub\n", this);
802 return NULL;
805 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE@PAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
806 /* ??0?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA@PEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@1@@Z */
807 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copy_ctor, 8)
808 basic_ios_wchar* __thiscall basic_ios_wchar_copy_ctor(basic_ios_wchar *this, const basic_ios_wchar *copy)
810 FIXME("(%p %p) stub\n", this, copy);
811 return NULL;
814 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UAE@XZ */
815 /* ??1?$basic_ios@_WU?$char_traits@_W@std@@@std@@UEAA@XZ */
816 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_dtor, 4)
817 void __thiscall basic_ios_wchar_dtor(basic_ios_wchar *this)
819 FIXME("(%p) stub\n", this);
822 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ios_wchar_vector_dtor, 8)
823 basic_ios_wchar* __thiscall MSVCP_basic_ios_wchar_vector_dtor(basic_ios_wchar *this, unsigned int flags)
825 TRACE("(%p %x) stub\n", this, flags);
826 if(flags & 2) {
827 /* we have an array, with the number of elements stored before the first object */
828 int i, *ptr = (int *)this-1;
830 for(i=*ptr-1; i>=0; i--)
831 basic_ios_wchar_dtor(this+i);
832 MSVCRT_operator_delete(ptr);
833 } else {
834 basic_ios_wchar_dtor(this);
835 if(flags & 1)
836 MSVCRT_operator_delete(this);
839 return this;
842 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
843 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
844 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear_reraise, 12)
845 void __thiscall basic_ios_wchar_clear_reraise(basic_ios_wchar *this, IOSB_iostate state, MSVCP_bool reraise)
847 FIXME("(%p %x %x) stub\n", this, state, reraise);
850 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
851 /* ?clear@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
852 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_clear, 8)
853 void __thiscall basic_ios_wchar_clear(basic_ios_wchar *this, unsigned int state)
855 basic_ios_wchar_clear_reraise(this, (IOSB_iostate)state, FALSE);
858 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEAAV12@ABV12@@Z */
859 /* ?copyfmt@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAAEAV12@AEBV12@@Z */
860 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_copyfmt, 8)
861 basic_ios_wchar* __thiscall basic_ios_wchar_copyfmt(basic_ios_wchar *this, basic_ios_wchar *copy)
863 FIXME("(%p %p) stub\n", this, copy);
864 return NULL;
867 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE_W_W@Z */
868 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA_W_W@Z */
869 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_set, 8)
870 wchar_t __thiscall basic_ios_wchar_fill_set(basic_ios_wchar *this, wchar_t fill)
872 FIXME("(%p %c) stub\n", this, fill);
873 return 0;
876 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WXZ */
877 /* ?fill@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WXZ */
878 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_fill_get, 4)
879 wchar_t __thiscall basic_ios_wchar_fill_get(basic_ios_wchar *this)
881 FIXME("(%p) stub\n", this);
882 return 0;
885 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
886 /* ?imbue@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
887 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_imbue, 12)
888 locale *__thiscall basic_ios_wchar_imbue(basic_ios_wchar *this, locale *ret, const locale *loc)
890 FIXME("(%p %p %p) stub\n", this, ret, loc);
891 return ret;
894 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IAEXPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
895 /* ?init@?$basic_ios@_WU?$char_traits@_W@std@@@std@@IEAAXPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@_N@Z */
896 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_init, 12)
897 void __thiscall basic_ios_wchar_init(basic_ios_wchar *this, /*basic_streambuf_wchar*/void *streambuf, MSVCP_bool isstd)
899 FIXME("(%p %p %x) stub\n", this, streambuf, isstd);
902 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBED_WD@Z */
903 /* ?narrow@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAD_WD@Z */
904 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_narrow, 12)
905 char __thiscall basic_ios_wchar_narrow(basic_ios_wchar *this, wchar_t ch, char def)
907 FIXME("(%p %c %c) stub\n", this, ch, def);
908 return def;
911 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
912 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
913 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_set, 8)
914 /*basic_streambuf_wchar*/void* __thiscall basic_ios_wchar_rdbuf_set(basic_ios_wchar *this, /*basic_streambuf_wchar*/void *streambuf)
916 FIXME("(%p %p) stub\n", this, streambuf);
917 return NULL;
920 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
921 /* ?rdbuf@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_streambuf@_WU?$char_traits@_W@std@@@2@XZ */
922 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_rdbuf_get, 4)
923 /*basic_streambuf_wchar*/void* __thiscall basic_ios_wchar_rdbuf_get(const basic_ios_wchar *this)
925 FIXME("(%p) stub\n", this);
926 return NULL;
929 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXH_N@Z */
930 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXH_N@Z */
931 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate_reraise, 12)
932 void __thiscall basic_ios_wchar_setstate_reraise(basic_ios_wchar *this, IOSB_iostate state, MSVCP_bool reraise)
934 FIXME("(%p %x %x) stub\n", this, state, reraise);
937 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEXI@Z */
938 /* ?setstate@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAXI@Z */
939 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_setstate, 8)
940 void __thiscall basic_ios_wchar_setstate(basic_ios_wchar *this, IOSB_iostate state)
942 basic_ios_wchar_setstate_reraise(this, state, FALSE);
945 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QAEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PAV32@@Z */
946 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEAAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@PEAV32@@Z */
947 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_set, 8)
948 /*basic_ostream_wchar*/void* __thiscall basic_ios_wchar_tie_set(basic_ios_wchar *this, /*basic_ostream_wchar*/void *ostream)
950 FIXME("(%p %p) stub\n", this, ostream);
951 return NULL;
954 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBEPAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
955 /* ?tie@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBAPEAV?$basic_ostream@_WU?$char_traits@_W@std@@@2@XZ */
956 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_tie_get, 4)
957 /*basic_ostream_wchar*/void* __thiscall basic_ios_wchar_tie_get(const basic_ios_wchar *this)
959 FIXME("(%p)\n", this);
960 return NULL;
963 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QBE_WD@Z */
964 /* ?widen@?$basic_ios@_WU?$char_traits@_W@std@@@std@@QEBA_WD@Z */
965 DEFINE_THISCALL_WRAPPER(basic_ios_wchar_widen, 8)
966 wchar_t __thiscall basic_ios_wchar_widen(basic_ios_wchar *this, char ch)
968 FIXME("(%p %c)\n", this, ch);
969 return 0;
972 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@W4_Uninitialized@1@@Z */
973 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@W4_Uninitialized@1@@Z */
974 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor_uninitialized, 8)
975 basic_streambuf_char* __thiscall basic_streambuf_char_ctor_uninitialized(basic_streambuf_char *this, int uninitialized)
977 TRACE("(%p %d)\n", this, uninitialized);
978 this->vtable = &MSVCP_basic_streambuf_char_vtable;
979 mutex_ctor(&this->lock);
980 return this;
983 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ */
984 /* ??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAA@XZ */
985 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_ctor, 4)
986 basic_streambuf_char* __thiscall basic_streambuf_char_ctor(basic_streambuf_char *this)
988 TRACE("(%p)\n", this);
990 this->vtable = &MSVCP_basic_streambuf_char_vtable;
991 mutex_ctor(&this->lock);
992 this->loc = MSVCRT_operator_new(sizeof(locale));
993 locale_ctor(this->loc);
994 basic_streambuf_char__Init_empty(this);
996 return this;
999 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ */
1000 /* ??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UEAA@XZ */
1001 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_dtor, 4)
1002 void __thiscall basic_streambuf_char_dtor(basic_streambuf_char *this)
1004 TRACE("(%p)\n", this);
1006 mutex_dtor(&this->lock);
1007 locale_dtor(this->loc);
1008 MSVCRT_operator_delete(this->loc);
1011 DEFINE_THISCALL_WRAPPER(MSVCP_basic_streambuf_char_vector_dtor, 8)
1012 basic_streambuf_char* __thiscall MSVCP_basic_streambuf_char_vector_dtor(basic_streambuf_char *this, unsigned int flags)
1014 TRACE("(%p %x)\n", this, flags);
1015 if(flags & 2) {
1016 /* we have an array, with the number of elements stored before the first object */
1017 int i, *ptr = (int *)this-1;
1019 for(i=*ptr-1; i>=0; i--)
1020 basic_streambuf_char_dtor(this+i);
1021 MSVCRT_operator_delete(ptr);
1022 } else {
1023 basic_streambuf_char_dtor(this);
1024 if(flags & 1)
1025 MSVCRT_operator_delete(this);
1028 return this;
1031 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
1032 /* ?_Gnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
1033 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnavail, 4)
1034 streamsize __thiscall basic_streambuf_char__Gnavail(const basic_streambuf_char *this)
1036 TRACE("(%p)\n", this);
1037 return *this->prpos ? *this->prsize : 0;
1040 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1041 /* ?_Gndec@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1042 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gndec, 4)
1043 char* __thiscall basic_streambuf_char__Gndec(basic_streambuf_char *this)
1045 TRACE("(%p)\n", this);
1046 (*this->prsize)++;
1047 (*this->prpos)--;
1048 return *this->prpos;
1051 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1052 /* ?_Gninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1053 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gninc, 4)
1054 char* __thiscall basic_streambuf_char__Gninc(basic_streambuf_char *this)
1056 TRACE("(%p)\n", this);
1057 (*this->prsize)--;
1058 return (*this->prpos)++;
1061 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1062 /* ?_Gnpreinc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1063 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Gnpreinc, 4)
1064 char* __thiscall basic_streambuf_char__Gnpreinc(basic_streambuf_char *this)
1066 TRACE("(%p)\n", this);
1067 (*this->prsize)--;
1068 (*this->prpos)++;
1069 return *this->prpos;
1072 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAPAD0PAH001@Z */
1073 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAPEAD0PEAH001@Z */
1074 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init, 28)
1075 void __thiscall basic_streambuf_char__Init(basic_streambuf_char *this, char **gf, char **gn, int *gc, char **pf, char **pn, int *pc)
1077 TRACE("(%p %p %p %p %p %p %p)\n", this, gf, gn, gc, pf, pn, pc);
1079 this->prbuf = gf;
1080 this->pwbuf = pf;
1081 this->prpos = gn;
1082 this->pwpos = pn;
1083 this->prsize = gc;
1084 this->pwsize = pc;
1087 /* ?_Init@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXXZ */
1088 /* ?_Init@?$basic_streambuf@GU?$char_traits@G@std@@@std@@IEAAXXZ */
1089 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Init_empty, 4)
1090 void __thiscall basic_streambuf_char__Init_empty(basic_streambuf_char *this)
1092 TRACE("(%p)\n", this);
1094 this->prbuf = &this->rbuf;
1095 this->pwbuf = &this->wbuf;
1096 this->prpos = &this->rpos;
1097 this->pwpos = &this->wpos;
1098 this->prsize = &this->rsize;
1099 this->pwsize = &this->wsize;
1101 basic_streambuf_char_setp(this, NULL, NULL);
1102 basic_streambuf_char_setg(this, NULL, NULL, NULL);
1105 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1106 /* ?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1107 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Lock, 4)
1108 void __thiscall basic_streambuf_char__Lock(basic_streambuf_char *this)
1110 TRACE("(%p)\n", this);
1111 mutex_lock(&this->lock);
1114 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEHXZ */
1115 /* ?_Pnavail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBA_JXZ */
1116 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pnavail, 4)
1117 streamsize __thiscall basic_streambuf_char__Pnavail(const basic_streambuf_char *this)
1119 TRACE("(%p)\n", this);
1120 return *this->pwpos ? *this->pwsize : 0;
1123 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ */
1124 /* ?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAPEADXZ */
1125 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Pninc, 4)
1126 char* __thiscall basic_streambuf_char__Pninc(basic_streambuf_char *this)
1128 TRACE("(%p)\n", this);
1129 (*this->pwsize)--;
1130 return (*this->pwpos)++;
1133 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADIH@Z */
1134 /* ?_Sgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_K_J@Z */
1135 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Sgetn_s, 16)
1136 streamsize __thiscall basic_streambuf_char__Sgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count)
1138 FIXME("(%p %p %lu %lu) stub\n", this, ptr, size, count);
1139 return 0;
1142 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1143 /* ?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1144 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Unlock, 4)
1145 void __thiscall basic_streambuf_char__Unlock(basic_streambuf_char *this)
1147 TRACE("(%p)\n", this);
1148 mutex_unlock(&this->lock);
1151 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADIH@Z */
1152 /* ?_Xsgetn_s@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_K_J@Z */
1153 DEFINE_THISCALL_WRAPPER(basic_streambuf_char__Xsgetn_s, 16)
1154 streamsize __thiscall basic_streambuf_char__Xsgetn_s(basic_streambuf_char *this, char *ptr, MSVCP_size_t size, streamsize count)
1156 FIXME("(%p %p %lu %lu) stub\n", this, ptr, size, count);
1157 return 0;
1160 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1161 /* ?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1162 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_eback, 4)
1163 char* __thiscall basic_streambuf_char_eback(const basic_streambuf_char *this)
1165 FIXME("(%p) stub\n", this);
1166 return NULL;
1169 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1170 /* ?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1171 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_egptr, 4)
1172 char* __thiscall basic_streambuf_char_egptr(const basic_streambuf_char *this)
1174 FIXME("(%p) stub\n", this);
1175 return NULL;
1178 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1179 /* ?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1180 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_epptr, 4)
1181 char* __thiscall basic_streambuf_char_epptr(const basic_streambuf_char *this)
1183 FIXME("(%p) stub\n", this);
1184 return NULL;
1187 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1188 /* ?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1189 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gbump, 8)
1190 void __thiscall basic_streambuf_char_gbump(basic_streambuf_char *this, int off)
1192 FIXME("(%p %d) stub\n", this, off);
1195 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QBE?AVlocale@2@XZ */
1196 /* ?getloc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEBA?AVlocale@2@XZ */
1197 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_getloc, 4)
1198 locale __thiscall basic_streambuf_char_getloc(const basic_streambuf_char *this)
1200 locale ret = { 0 }; /* FIXME */
1201 FIXME("(%p) stub\n", this);
1202 return ret;
1205 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1206 /* ?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1207 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_gptr, 4)
1208 char* __thiscall basic_streambuf_char_gptr(const basic_streambuf_char *this)
1210 FIXME("(%p) stub\n", this);
1211 return NULL;
1214 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z */
1215 /* ?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAXAEBVlocale@2@@Z */
1216 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_imbue, 8)
1217 void __thiscall basic_streambuf_char_imbue(basic_streambuf_char *this, const locale *loc)
1219 FIXME("(%p %p) stub\n", this, loc);
1222 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1223 /* ?in_avail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JXZ */
1224 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_in_avail, 4)
1225 streamsize __thiscall basic_streambuf_char_in_avail(basic_streambuf_char *this)
1227 FIXME("(%p) stub\n", this);
1228 return 0;
1231 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1232 /* ?overflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1233 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_overflow, 8)
1234 int __thiscall basic_streambuf_char_overflow(basic_streambuf_char *this, int ch)
1236 FIXME("(%p %d) stub\n", this, ch);
1237 return 0;
1240 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHH@Z */
1241 /* ?pbackfail@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHH@Z */
1242 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbackfail, 8)
1243 int __thiscall basic_streambuf_char_pbackfail(basic_streambuf_char *this, int ch)
1245 FIXME("(%p %d) stub\n", this, ch);
1246 return 0;
1249 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1250 /* ?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1251 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbase, 4)
1252 char* __thiscall basic_streambuf_char_pbase(const basic_streambuf_char *this)
1254 FIXME("(%p) stub\n", this);
1255 return NULL;
1258 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z */
1259 /* ?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXH@Z */
1260 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pbump, 8)
1261 void __thiscall basic_streambuf_char_pbump(basic_streambuf_char *this, int off)
1263 FIXME("(%p %d) stub\n", this, off);
1266 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ */
1267 /* ?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEBAPEADXZ */
1268 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pptr, 4)
1269 char* __thiscall basic_streambuf_char_pptr(const basic_streambuf_char *this)
1271 FIXME("(%p) stub\n", this);
1272 return NULL;
1275 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AVlocale@2@ABV32@@Z */
1276 /* ?pubimbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AVlocale@2@AEBV32@@Z */
1277 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubimbue, 8)
1278 locale __thiscall basic_streambuf_char_pubimbue(basic_streambuf_char *this, const locale *loc)
1280 locale ret = { 0 }; /* FIXME */
1281 FIXME("(%p %p) stub\n", this, loc);
1282 return ret;
1285 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JHH@Z */
1286 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JHH@Z */
1287 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff, 20)
1288 fpos_int* __thiscall basic_streambuf_char_pubseekoff(basic_streambuf_char *this,
1289 fpos_int *ret, streamoff off, int way, int mode)
1291 FIXME("(%p %lu %d %d) stub\n", this, off, way, mode);
1292 return ret;
1295 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@JII@Z */
1296 /* ?pubseekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@_JII@Z */
1297 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekoff_old, 20)
1298 fpos_int* __thiscall basic_streambuf_char_pubseekoff_old(basic_streambuf_char *this,
1299 fpos_int *ret, streamoff off, unsigned int way, unsigned int mode)
1301 FIXME("(%p %lu %d %d) stub\n", this, off, way, mode);
1302 return ret;
1305 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@H@Z */
1306 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@H@Z */
1307 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos, 36)
1308 fpos_int* __thiscall basic_streambuf_char_pubseekpos(basic_streambuf_char *this,
1309 fpos_int *ret, fpos_int pos, int mode)
1311 FIXME("(%p %s %d) stub\n", this, debugstr_fpos_int(&pos), mode);
1312 return ret;
1315 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@V32@I@Z */
1316 /* ?pubseekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@V32@I@Z */
1317 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubseekpos_old, 36)
1318 fpos_int* __thiscall basic_streambuf_char_pubseekpos_old(basic_streambuf_char *this,
1319 fpos_int *ret, fpos_int pos, unsigned int mode)
1321 FIXME("(%p %s %d) stub\n", this, debugstr_fpos_int(&pos), mode);
1322 return ret;
1325 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEPAV12@PADH@Z */
1326 /* ?pubsetbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAPEAV12@PEAD_J@Z */
1327 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsetbuf, 12)
1328 basic_streambuf_char* __thiscall basic_streambuf_char_pubsetbuf(basic_streambuf_char *this, char *buf, streamsize count)
1330 FIXME("(%p %p %lu) stub\n", this, buf, count);
1331 return NULL;
1334 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1335 /* ?pubsync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1336 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_pubsync, 4)
1337 int __thiscall basic_streambuf_char_pubsync(basic_streambuf_char *this)
1339 FIXME("(%p) stub\n", this);
1340 return 0;
1343 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1344 /* ?sbumpc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1345 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sbumpc, 4)
1346 int __thiscall basic_streambuf_char_sbumpc(basic_streambuf_char *this)
1348 FIXME("(%p) stub\n", this);
1349 return 0;
1352 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@JHH@Z */
1353 /* ?seekoff@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@_JHH@Z */
1354 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekoff, 20)
1355 fpos_int* __thiscall basic_streambuf_char_seekoff(basic_streambuf_char *this,
1356 fpos_int *ret, streamoff off, int way, int mode)
1358 FIXME("(%p %lu %d %d) stub\n", this, off, way, mode);
1359 return ret;
1362 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE?AV?$fpos@H@2@V32@H@Z */
1363 /* ?seekpos@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA?AV?$fpos@H@2@V32@H@Z */
1364 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_seekpos, 36)
1365 fpos_int* __thiscall basic_streambuf_char_seekpos(basic_streambuf_char *this,
1366 fpos_int *ret, fpos_int pos, int mode)
1368 FIXME("(%p %s %d) stub\n", this, debugstr_fpos_int(&pos), mode);
1369 return ret;
1372 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PADH@Z */
1373 /* ?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAPEAV12@PEAD_J@Z */
1374 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setbuf, 12)
1375 basic_streambuf_char* __thiscall basic_streambuf_char_setbuf(basic_streambuf_char *this, char *buf, streamsize count)
1377 FIXME("(%p %p %lu) stub\n", this, buf, count);
1378 return NULL;
1381 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
1382 /* ?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
1383 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setg, 16)
1384 void __thiscall basic_streambuf_char_setg(basic_streambuf_char *this, char *first, char *next, char *last)
1386 TRACE("(%p %p %p %p)\n", this, first, next, last);
1388 this->rbuf = first;
1389 this->rpos = next;
1390 this->rsize = last-next;
1393 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z */
1394 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD00@Z */
1395 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp_next, 16)
1396 void __thiscall basic_streambuf_char_setp_next(basic_streambuf_char *this, char *first, char *next, char *last)
1398 TRACE("(%p %p %p %p)\n", this, first, next, last);
1400 this->wbuf = first;
1401 this->wpos = next;
1402 this->wsize = last-next;
1405 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z */
1406 /* ?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IEAAXPEAD0@Z */
1407 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_setp, 12)
1408 void __thiscall basic_streambuf_char_setp(basic_streambuf_char *this, char *first, char *last)
1410 basic_streambuf_char_setp_next(this, first, first, last);
1413 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1414 /* ?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1415 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetc, 4)
1416 int __thiscall basic_streambuf_char_sgetc(basic_streambuf_char *this)
1418 FIXME("(%p) stub\n", this);
1419 return 0;
1422 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPADH@Z */
1423 /* ?sgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEAD_J@Z */
1424 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sgetn, 12)
1425 streamsize __thiscall basic_streambuf_char_sgetn(basic_streambuf_char *this, char *ptr, streamsize count)
1427 FIXME("(%p %p %lu) stub\n", this, ptr, count);
1428 return 0;
1431 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1432 /* ?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JXZ */
1433 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_showmanyc, 4)
1434 streamsize __thiscall basic_streambuf_char_showmanyc(basic_streambuf_char *this)
1436 FIXME("(%p) stub\n", this);
1437 return 0;
1440 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1441 /* ?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1442 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_snextc, 4)
1443 int __thiscall basic_streambuf_char_snextc(basic_streambuf_char *this)
1445 FIXME("(%p) stub\n", this);
1446 return 0;
1449 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1450 /* ?sputbackc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1451 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputbackc, 8)
1452 int __thiscall basic_streambuf_char_sputbackc(basic_streambuf_char *this, char ch)
1454 FIXME("(%p %d) stub\n", this, ch);
1455 return 0;
1458 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z */
1459 /* ?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHD@Z */
1460 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputc, 8)
1461 int __thiscall basic_streambuf_char_sputc(basic_streambuf_char *this, char ch)
1463 FIXME("(%p %d) stub\n", this, ch);
1464 return 0;
1467 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHPBDH@Z */
1468 /* ?sputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAA_JPEBD_J@Z */
1469 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sputn, 12)
1470 streamsize __thiscall basic_streambuf_char_sputn(basic_streambuf_char *this, const char *ptr, streamsize count)
1472 FIXME("(%p %p %lu) stub\n", this, ptr, count);
1473 return 0;
1476 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEXXZ */
1477 /* ?stossc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1478 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_stossc, 4)
1479 void __thiscall basic_streambuf_char_stossc(basic_streambuf_char *this)
1481 FIXME("(%p) stub\n", this);
1484 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ */
1485 /* ?sungetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QEAAHXZ */
1486 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sungetc, 4)
1487 int __thiscall basic_streambuf_char_sungetc(basic_streambuf_char *this)
1489 FIXME("(%p) stub\n", this);
1490 return 0;
1493 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1494 /* ?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1495 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_sync, 4)
1496 int __thiscall basic_streambuf_char_sync(basic_streambuf_char *this)
1498 FIXME("(%p) stub\n", this);
1499 return 0;
1502 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1503 /* ?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1504 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_uflow, 4)
1505 int __thiscall basic_streambuf_char_uflow(basic_streambuf_char *this)
1507 FIXME("(%p) stub\n", this);
1508 return 0;
1511 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ */
1512 /* ?underflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAAHXZ */
1513 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_underflow, 4)
1514 int __thiscall basic_streambuf_char_underflow(basic_streambuf_char *this)
1516 FIXME("(%p) stub\n", this);
1517 return 0;
1520 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPADH@Z */
1521 /* ?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEAD_J@Z */
1522 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsgetn, 12)
1523 streamsize __thiscall basic_streambuf_char_xsgetn(basic_streambuf_char *this, char *ptr, streamsize count)
1525 FIXME("(%p %p %lu) stub\n", this, ptr, count);
1526 return 0;
1529 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHPBDH@Z */
1530 /* ?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MEAA_JPEBD_J@Z */
1531 DEFINE_THISCALL_WRAPPER(basic_streambuf_char_xsputn, 12)
1532 streamsize __thiscall basic_streambuf_char_xsputn(basic_streambuf_char *this, const char *ptr, streamsize count)
1534 FIXME("(%p %p %lu) stub\n", this, ptr, count);
1535 return 0;
1538 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
1539 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@_N@Z */
1540 DEFINE_THISCALL_WRAPPER(basic_ostream_char_ctor, 12)
1541 basic_ostream_char* __thiscall basic_ostream_char_ctor(basic_ostream_char *this, basic_streambuf_char *strbuf, MSVCP_bool isstd)
1543 FIXME("(%p %p %d) stub\n", this, strbuf, isstd);
1545 this->vtable = &MSVCP_basic_ostream_char_vtable+1;
1546 this->child.child.vtable = &MSVCP_basic_ostream_char_vtable;
1547 return NULL;
1550 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@W4_Uninitialized@1@_N@Z */
1551 /* ??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA@W4_Uninitialized@1@_N@Z */
1552 DEFINE_THISCALL_WRAPPER(basic_ostream_char_uninitialized, 12)
1553 basic_ostream_char* __thiscall basic_ostream_char_uninitialized(basic_ostream_char *this, int uninitialized, MSVCP_bool addstd)
1555 FIXME("(%p %d %x) stub\n", this, uninitialized, addstd);
1556 return NULL;
1559 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UAE@XZ */
1560 /* ??1?$basic_ostream@DU?$char_traits@D@std@@@std@@UEAA@XZ */
1561 DEFINE_THISCALL_WRAPPER(basic_ostream_char_dtor, 4)
1562 void __thiscall basic_ostream_char_dtor(basic_ostream_char *this)
1564 FIXME("(%p) stub\n", this);
1567 DEFINE_THISCALL_WRAPPER(MSVCP_basic_ostream_char_vector_dtor, 8)
1568 basic_ostream_char* __thiscall MSVCP_basic_ostream_char_vector_dtor(basic_ostream_char *this, unsigned int flags)
1570 TRACE("(%p %x) stub\n", this, flags);
1571 if(flags & 2) {
1572 /* we have an array, with the number of elements stored before the first object */
1573 int i, *ptr = (int *)this-1;
1575 for(i=*ptr-1; i>=0; i--)
1576 basic_ostream_char_dtor(this+i);
1577 MSVCRT_operator_delete(ptr);
1578 } else {
1579 basic_ostream_char_dtor(this);
1580 if(flags & 1)
1581 MSVCRT_operator_delete(this);
1584 return this;
1587 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@F@Z */
1588 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@F@Z */
1589 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_short, 8)
1590 basic_ostream_char* __thiscall basic_ostream_char_print_short(basic_ostream_char *this, short val)
1592 FIXME("(%p %d) stub\n", this, val);
1593 return NULL;
1596 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@G@Z */
1597 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@G@Z */
1598 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ushort, 8)
1599 basic_ostream_char* __thiscall basic_ostream_char_print_ushort(basic_ostream_char *this, unsigned short val)
1601 FIXME("(%p %d) stub\n", this, val);
1602 return NULL;
1605 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@H@Z */
1606 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@H@Z */
1607 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int, 8)
1608 basic_ostream_char* __thiscall basic_ostream_char_print_int(basic_ostream_char *this, int val)
1610 FIXME("(%p %d) stub\n", this, val);
1611 return NULL;
1614 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@I@Z */
1615 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@I@Z */
1616 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint, 8)
1617 basic_ostream_char* __thiscall basic_ostream_char_print_uint(basic_ostream_char *this, unsigned int val)
1619 FIXME("(%p %d) stub\n", this, val);
1620 return NULL;
1623 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@J@Z */
1624 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@J@Z */
1625 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_long, 8)
1626 basic_ostream_char* __thiscall basic_ostream_char_print_long(basic_ostream_char *this, LONG val)
1628 FIXME("(%p %d) stub\n", this, val);
1629 return NULL;
1632 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@K@Z */
1633 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@K@Z */
1634 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ulong, 8)
1635 basic_ostream_char* __thiscall basic_ostream_char_print_ulong(basic_ostream_char *this, ULONG val)
1637 FIXME("(%p %d) stub\n", this, val);
1638 return NULL;
1641 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@M@Z */
1642 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@M@Z */
1643 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_float, 8)
1644 basic_ostream_char* __thiscall basic_ostream_char_print_float(basic_ostream_char *this, float val)
1646 FIXME("(%p %f) stub\n", this, val);
1647 return NULL;
1650 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z */
1651 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@N@Z */
1652 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_double, 12)
1653 basic_ostream_char* __thiscall basic_ostream_char_print_double(basic_ostream_char *this, double val)
1655 FIXME("(%p %lf) stub\n", this, val);
1656 return NULL;
1659 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
1660 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z */
1661 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_streambuf, 8)
1662 basic_ostream_char* __thiscall basic_ostream_char_print_streambuf(basic_ostream_char *this, basic_streambuf_char *val)
1664 FIXME("(%p %p) stub\n", this, val);
1665 return NULL;
1668 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@PBX@Z */
1669 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@PEBX@Z */
1670 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_ptr, 8)
1671 basic_ostream_char* __thiscall basic_ostream_char_print_ptr(basic_ostream_char *this, const void *val)
1673 FIXME("(%p %p) stub\n", this, val);
1674 return NULL;
1677 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_J@Z */
1678 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_J@Z */
1679 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_int64, 12)
1680 basic_ostream_char* __thiscall basic_ostream_char_print_int64(basic_ostream_char *this, __int64 val)
1682 FIXME("(%p) stub\n", this);
1683 return NULL;
1686 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_K@Z */
1687 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_K@Z */
1688 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_uint64, 12)
1689 basic_ostream_char* __thiscall basic_ostream_char_print_uint64(basic_ostream_char *this, unsigned __int64 val)
1691 FIXME("(%p) stub\n", this);
1692 return NULL;
1695 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@_N@Z */
1696 /* ??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV01@_N@Z */
1697 DEFINE_THISCALL_WRAPPER(basic_ostream_char_print_bool, 8)
1698 basic_ostream_char* __thiscall basic_ostream_char_print_bool(basic_ostream_char *this, MSVCP_bool val)
1700 FIXME("(%p %x) stub\n", this, val);
1701 return NULL;
1704 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
1705 /* ?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1706 DEFINE_THISCALL_WRAPPER(basic_ostream_char__Osfx, 4)
1707 void __thiscall basic_ostream_char__Osfx(basic_ostream_char *this)
1709 FIXME("(%p) stub\n", this);
1712 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ */
1713 /* ?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@XZ */
1714 DEFINE_THISCALL_WRAPPER(basic_ostream_char_flush, 4)
1715 basic_ostream_char* __thiscall basic_ostream_char_flush(basic_ostream_char *this)
1717 FIXME("(%p) stub\n", this);
1718 return NULL;
1721 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE_NXZ */
1722 /* ?opfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA_NXZ */
1723 DEFINE_THISCALL_WRAPPER(basic_ostream_char_opfx, 4)
1724 MSVCP_bool __thiscall basic_ostream_char_opfx(basic_ostream_char *this)
1726 FIXME("(%p) stub\n", this);
1727 return 0;
1730 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ */
1731 /* ?osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAXXZ */
1732 DEFINE_THISCALL_WRAPPER(basic_ostream_char_osfx, 4)
1733 void __thiscall basic_ostream_char_osfx(basic_ostream_char *this)
1735 FIXME("(%p) stub\n", this);
1738 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@D@Z */
1739 /* ?put@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@D@Z */
1740 DEFINE_THISCALL_WRAPPER(basic_ostream_char_put, 8)
1741 basic_ostream_char* __thiscall basic_ostream_char_put(basic_ostream_char *this, char ch)
1743 FIXME("(%p %c) stub\n", this, ch);
1744 return NULL;
1747 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@JH@Z */
1748 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@_JH@Z */
1749 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp, 12)
1750 basic_ostream_char* __thiscall basic_ostream_char_seekp(basic_ostream_char *this, streamoff off, int way)
1752 FIXME("(%p %lu %d) stub\n", this, off, way);
1753 return NULL;
1756 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@V?$fpos@H@2@@Z */
1757 /* ?seekp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@V?$fpos@H@2@@Z */
1758 DEFINE_THISCALL_WRAPPER(basic_ostream_char_seekp_fpos, 28)
1759 basic_ostream_char* __thiscall basic_ostream_char_seekp_fpos(basic_ostream_char *this, fpos_int pos)
1761 FIXME("(%p %s) stub\n", this, debugstr_fpos_int(&pos));
1762 return NULL;
1765 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE?AV?$fpos@H@2@XZ */
1766 /* ?tellp@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAA?AV?$fpos@H@2@XZ */
1767 DEFINE_THISCALL_WRAPPER(basic_ostream_char_tellp, 8)
1768 fpos_int* __thiscall basic_ostream_char_tellp(basic_ostream_char *this, fpos_int *ret)
1770 FIXME("(%p) stub\n", this);
1771 return ret;
1774 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@PBDH@Z */
1775 /* ?write@?$basic_ostream@DU?$char_traits@D@std@@@std@@QEAAAEAV12@PEBD_J@Z */
1776 DEFINE_THISCALL_WRAPPER(basic_ostream_char_write, 12)
1777 basic_ostream_char* __thiscall basic_ostream_char_write(basic_ostream_char *this, const char *str, streamsize count)
1779 FIXME("(%p %s %lu) stub\n", this, debugstr_a(str), count);
1780 return NULL;