Enable querying of IID_FilterGraph interface from filtergraph manager
[wine] / include / msvcrt / wchar.h
1 /*
2  * Unicode definitions
3  *
4  * Derived from the mingw header written by Colin Peters.
5  * Modified for Wine use by Jon Griffiths and Francois Gouget.
6  * This file is in the public domain.
7  */
8 #ifndef __WINE_WCHAR_H
9 #define __WINE_WCHAR_H
10 #ifndef __WINE_USE_MSVCRT
11 #define __WINE_USE_MSVCRT
12 #endif
13
14 #include <stdarg.h>
15
16 #ifndef MSVCRT
17 # ifdef USE_MSVCRT_PREFIX
18 #  define MSVCRT(x)    MSVCRT_##x
19 # else
20 #  define MSVCRT(x)    x
21 # endif
22 #endif
23
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27
28 #ifndef MSVCRT_WCHAR_T_DEFINED
29 #define MSVCRT_WCHAR_T_DEFINED
30 #ifndef __cplusplus
31 typedef unsigned short MSVCRT(wchar_t);
32 #endif
33 #endif
34
35 #ifndef NULL
36 #ifdef __cplusplus
37 #define NULL  0
38 #else
39 #define NULL  ((void *)0)
40 #endif
41 #endif
42
43 #define WCHAR_MIN 0
44 #define WCHAR_MAX ((MSVCRT(wchar_t))-1)
45
46 typedef int MSVCRT(mbstate_t);
47
48 #ifndef MSVCRT_SIZE_T_DEFINED
49 typedef unsigned int MSVCRT(size_t);
50 #define MSVCRT_SIZE_T_DEFINED
51 #endif
52
53 #ifndef _WCTYPE_T_DEFINED
54 typedef unsigned short  MSVCRT(wint_t);
55 typedef unsigned short  MSVCRT(wctype_t);
56 #define _WCTYPE_T_DEFINED
57 #endif
58
59 #ifndef _MSC_VER
60 # ifndef __int64
61 #  define __int64 long long
62 # endif
63 #endif
64
65 #ifndef USE_MSVCRT_PREFIX
66 # ifndef WEOF
67 #  define WEOF        (wint_t)(0xFFFF)
68 # endif
69 #else
70 # ifndef MSVCRT_WEOF
71 #  define MSVCRT_WEOF (MSVCRT_wint_t)(0xFFFF)
72 # endif
73 #endif /* USE_MSVCRT_PREFIX */
74
75 #ifndef MSVCRT_FSIZE_T_DEFINED
76 typedef unsigned long _fsize_t;
77 #define MSVCRT_FSIZE_T_DEFINED
78 #endif
79
80 #ifndef MSVCRT_DEV_T_DEFINED
81 typedef unsigned int   _dev_t;
82 #define MSVCRT_DEV_T_DEFINED
83 #endif
84
85 #ifndef MSVCRT_INO_T_DEFINED
86 typedef unsigned short _ino_t;
87 #define MSVCRT_INO_T_DEFINED
88 #endif
89
90 #ifndef MSVCRT_OFF_T_DEFINED
91 typedef int MSVCRT(_off_t);
92 #define MSVCRT_OFF_T_DEFINED
93 #endif
94
95 #ifndef MSVCRT_TIME_T_DEFINED
96 typedef long MSVCRT(time_t);
97 #define MSVCRT_TIME_T_DEFINED
98 #endif
99
100 #ifndef MSVCRT_TM_DEFINED
101 #define MSVCRT_TM_DEFINED
102 struct MSVCRT(tm) {
103     int tm_sec;
104     int tm_min;
105     int tm_hour;
106     int tm_mday;
107     int tm_mon;
108     int tm_year;
109     int tm_wday;
110     int tm_yday;
111     int tm_isdst;
112 };
113 #endif /* MSVCRT_TM_DEFINED */
114
115 #ifndef MSVCRT_FILE_DEFINED
116 #define MSVCRT_FILE_DEFINED
117 typedef struct MSVCRT(_iobuf)
118 {
119   char* _ptr;
120   int   _cnt;
121   char* _base;
122   int   _flag;
123   int   _file;
124   int   _charbuf;
125   int   _bufsiz;
126   char* _tmpfname;
127 } MSVCRT(FILE);
128 #endif  /* MSVCRT_FILE_DEFINED */
129
130 #ifndef MSVCRT_WFINDDATA_T_DEFINED
131 #define MSVCRT_WFINDDATA_T_DEFINED
132
133 struct MSVCRT(_wfinddata_t) {
134   unsigned attrib;
135   MSVCRT(time_t) time_create;
136   MSVCRT(time_t) time_access;
137   MSVCRT(time_t) time_write;
138   MSVCRT(_fsize_t) size;
139   MSVCRT(wchar_t) name[260];
140 };
141
142 struct MSVCRT(_wfinddatai64_t) {
143   unsigned attrib;
144   MSVCRT(time_t) time_create;
145   MSVCRT(time_t) time_access;
146   MSVCRT(time_t) time_write;
147   __int64        size;
148   MSVCRT(wchar_t) name[260];
149 };
150
151 #endif /* MSVCRT_WFINDDATA_T_DEFINED */
152
153 #ifndef MSVCRT_STAT_DEFINED
154 #define MSVCRT_STAT_DEFINED
155
156 struct MSVCRT(_stat) {
157   MSVCRT(_dev_t) st_dev;
158   MSVCRT(_ino_t) st_ino;
159   unsigned short st_mode;
160   short          st_nlink;
161   short          st_uid;
162   short          st_gid;
163   MSVCRT(_dev_t) st_rdev;
164   MSVCRT(_off_t) st_size;
165   MSVCRT(time_t) st_atime;
166   MSVCRT(time_t) st_mtime;
167   MSVCRT(time_t) st_ctime;
168 };
169
170 struct MSVCRT(stat) {
171   MSVCRT(_dev_t) st_dev;
172   MSVCRT(_ino_t) st_ino;
173   unsigned short st_mode;
174   short          st_nlink;
175   short          st_uid;
176   short          st_gid;
177   MSVCRT(_dev_t) st_rdev;
178   MSVCRT(_off_t) st_size;
179   MSVCRT(time_t) st_atime;
180   MSVCRT(time_t) st_mtime;
181   MSVCRT(time_t) st_ctime;
182 };
183
184 struct MSVCRT(_stati64) {
185   MSVCRT(_dev_t) st_dev;
186   MSVCRT(_ino_t) st_ino;
187   unsigned short st_mode;
188   short          st_nlink;
189   short          st_uid;
190   short          st_gid;
191   MSVCRT(_dev_t) st_rdev;
192   __int64        st_size;
193   MSVCRT(time_t) st_atime;
194   MSVCRT(time_t) st_mtime;
195   MSVCRT(time_t) st_ctime;
196 };
197 #endif /* MSVCRT_STAT_DEFINED */
198
199 /* ASCII char classification table - binary compatible */
200 #define _UPPER        0x0001  /* C1_UPPER */
201 #define _LOWER        0x0002  /* C1_LOWER */
202 #define _DIGIT        0x0004  /* C1_DIGIT */
203 #define _SPACE        0x0008  /* C1_SPACE */
204 #define _PUNCT        0x0010  /* C1_PUNCT */
205 #define _CONTROL      0x0020  /* C1_CNTRL */
206 #define _BLANK        0x0040  /* C1_BLANK */
207 #define _HEX          0x0080  /* C1_XDIGIT */
208 #define _LEADBYTE     0x8000
209 #define _ALPHA       (0x0100|_UPPER|_LOWER)  /* (C1_ALPHA|_UPPER|_LOWER) */
210
211 #ifndef MSVCRT_WCTYPE_DEFINED
212 #define MSVCRT_WCTYPE_DEFINED
213 int MSVCRT(is_wctype)(MSVCRT(wint_t),MSVCRT(wctype_t));
214 int MSVCRT(isleadbyte)(int);
215 int MSVCRT(iswalnum)(MSVCRT(wint_t));
216 int MSVCRT(iswalpha)(MSVCRT(wint_t));
217 int MSVCRT(iswascii)(MSVCRT(wint_t));
218 int MSVCRT(iswcntrl)(MSVCRT(wint_t));
219 int MSVCRT(iswctype)(MSVCRT(wint_t),MSVCRT(wctype_t));
220 int MSVCRT(iswdigit)(MSVCRT(wint_t));
221 int MSVCRT(iswgraph)(MSVCRT(wint_t));
222 int MSVCRT(iswlower)(MSVCRT(wint_t));
223 int MSVCRT(iswprint)(MSVCRT(wint_t));
224 int MSVCRT(iswpunct)(MSVCRT(wint_t));
225 int MSVCRT(iswspace)(MSVCRT(wint_t));
226 int MSVCRT(iswupper)(MSVCRT(wint_t));
227 int MSVCRT(iswxdigit)(MSVCRT(wint_t));
228 MSVCRT(wchar_t) MSVCRT(towlower)(MSVCRT(wchar_t));
229 MSVCRT(wchar_t) MSVCRT(towupper)(MSVCRT(wchar_t));
230 #endif /* MSVCRT_WCTYPE_DEFINED */
231
232 #ifndef MSVCRT_WDIRECT_DEFINED
233 #define MSVCRT_WDIRECT_DEFINED
234 int              _wchdir(const MSVCRT(wchar_t)*);
235 MSVCRT(wchar_t)* _wgetcwd(MSVCRT(wchar_t)*,int);
236 MSVCRT(wchar_t)* _wgetdcwd(int,MSVCRT(wchar_t)*,int);
237 int              _wmkdir(const MSVCRT(wchar_t)*);
238 int              _wrmdir(const MSVCRT(wchar_t)*);
239 #endif /* MSVCRT_WDIRECT_DEFINED */
240
241 #ifndef MSVCRT_WIO_DEFINED
242 #define MSVCRT_WIO_DEFINED
243 int         _waccess(const MSVCRT(wchar_t)*,int);
244 int         _wchmod(const MSVCRT(wchar_t)*,int);
245 int         _wcreat(const MSVCRT(wchar_t)*,int);
246 long        _wfindfirst(const MSVCRT(wchar_t)*,struct _wfinddata_t*);
247 long        _wfindfirsti64(const MSVCRT(wchar_t)*, struct _wfinddatai64_t*);
248 int         _wfindnext(long,struct _wfinddata_t*);
249 int         _wfindnexti64(long, struct _wfinddatai64_t*);
250 MSVCRT(wchar_t)*_wmktemp(MSVCRT(wchar_t)*);
251 int         _wopen(const MSVCRT(wchar_t)*,int,...);
252 int         _wrename(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
253 int         _wsopen(const MSVCRT(wchar_t)*,int,int,...);
254 int         _wunlink(const MSVCRT(wchar_t)*);
255 #endif /* MSVCRT_WIO_DEFINED */
256
257 #ifndef MSVCRT_WLOCALE_DEFINED
258 #define MSVCRT_WLOCALE_DEFINED
259 MSVCRT(wchar_t)* _wsetlocale(int,const MSVCRT(wchar_t)*);
260 #endif /* MSVCRT_WLOCALE_DEFINED */
261
262 #ifndef MSVCRT_WPROCESS_DEFINED
263 #define MSVCRT_WPROCESS_DEFINED
264 int         _wexecl(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
265 int         _wexecle(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
266 int         _wexeclp(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
267 int         _wexeclpe(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
268 int         _wexecv(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *);
269 int         _wexecve(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *,const MSVCRT(wchar_t)* const *);
270 int         _wexecvp(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *);
271 int         _wexecvpe(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *,const MSVCRT(wchar_t)* const *);
272 int         _wspawnl(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
273 int         _wspawnle(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
274 int         _wspawnlp(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
275 int         _wspawnlpe(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
276 int         _wspawnv(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *);
277 int         _wspawnve(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *,const MSVCRT(wchar_t)* const *);
278 int         _wspawnvp(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *);
279 int         _wspawnvpe(int,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)* const *,const MSVCRT(wchar_t)* const *);
280 int         _wsystem(const MSVCRT(wchar_t)*);
281 #endif /* MSVCRT_WPROCESS_DEFINED */
282
283 #ifndef MSVCRT_WSTAT_DEFINED
284 #define MSVCRT_WSTAT_DEFINED
285 int _wstat(const MSVCRT(wchar_t)*,struct MSVCRT(_stat)*);
286 int _wstati64(const MSVCRT(wchar_t)*,struct MSVCRT(_stati64)*);
287 #endif /* MSVCRT_WSTAT_DEFINED */
288
289 #ifndef MSVCRT_WSTDIO_DEFINED
290 #define MSVCRT_WSTDIO_DEFINED
291 MSVCRT(wint_t)  _fgetwchar(void);
292 MSVCRT(wint_t)  _fputwchar(MSVCRT(wint_t));
293 MSVCRT(wchar_t)*_getws(MSVCRT(wchar_t)*);
294 int             _putws(const MSVCRT(wchar_t)*);
295 int             _snwprintf(MSVCRT(wchar_t)*,MSVCRT(size_t),const MSVCRT(wchar_t)*,...);
296 int             _vsnwprintf(MSVCRT(wchar_t)*,MSVCRT(size_t),const MSVCRT(wchar_t)*,va_list);
297 MSVCRT(FILE)*   _wfdopen(int,const MSVCRT(wchar_t)*);
298 MSVCRT(FILE)*   _wfopen(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
299 MSVCRT(FILE)*   _wfreopen(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(FILE)*);
300 MSVCRT(FILE)*   _wfsopen(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,int);
301 void            _wperror(const MSVCRT(wchar_t)*);
302 MSVCRT(FILE)*   _wpopen(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
303 int             _wremove(const MSVCRT(wchar_t)*);
304 MSVCRT(wchar_t)*_wtempnam(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
305 MSVCRT(wchar_t)*_wtmpnam(MSVCRT(wchar_t)*);
306
307 MSVCRT(wint_t)  MSVCRT(fgetwc)(MSVCRT(FILE)*);
308 MSVCRT(wchar_t)*MSVCRT(fgetws)(MSVCRT(wchar_t)*,int,MSVCRT(FILE)*);
309 MSVCRT(wint_t)  MSVCRT(fputwc)(MSVCRT(wint_t),MSVCRT(FILE)*);
310 int             MSVCRT(fputws)(const MSVCRT(wchar_t)*,MSVCRT(FILE)*);
311 int             MSVCRT(fwprintf)(MSVCRT(FILE)*,const MSVCRT(wchar_t)*,...);
312 int             MSVCRT(fputws)(const MSVCRT(wchar_t)*,MSVCRT(FILE)*);
313 int             MSVCRT(fwscanf)(MSVCRT(FILE)*,const MSVCRT(wchar_t)*,...);
314 MSVCRT(wint_t)  MSVCRT(getwc)(MSVCRT(FILE)*);
315 MSVCRT(wint_t)  MSVCRT(getwchar)(void);
316 MSVCRT(wchar_t)*MSVCRT(getws)(MSVCRT(wchar_t)*);
317 MSVCRT(wint_t)  MSVCRT(putwc)(MSVCRT(wint_t),MSVCRT(FILE)*);
318 MSVCRT(wint_t)  MSVCRT(putwchar)(MSVCRT(wint_t));
319 int             MSVCRT(putws)(const MSVCRT(wchar_t)*);
320 int             MSVCRT(swprintf)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
321 int             MSVCRT(swscanf)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,...);
322 MSVCRT(wint_t)  MSVCRT(ungetwc)(MSVCRT(wint_t),MSVCRT(FILE)*);
323 int             MSVCRT(vfwprintf)(MSVCRT(FILE)*,const MSVCRT(wchar_t)*,va_list);
324 int             MSVCRT(vswprintf)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,va_list);
325 int             MSVCRT(vwprintf)(const MSVCRT(wchar_t)*,va_list);
326 int             MSVCRT(wprintf)(const MSVCRT(wchar_t)*,...);
327 int             MSVCRT(wscanf)(const MSVCRT(wchar_t)*,...);
328 #endif /* MSVCRT_WSTDIO_DEFINED */
329
330 #ifndef MSVCRT_WSTDLIB_DEFINED
331 #define MSVCRT_WSTDLIB_DEFINED
332 MSVCRT(wchar_t)*_itow(int,MSVCRT(wchar_t)*,int);
333 MSVCRT(wchar_t)*_i64tow(__int64,MSVCRT(wchar_t)*,int);
334 MSVCRT(wchar_t)*_ltow(long,MSVCRT(wchar_t)*,int);
335 MSVCRT(wchar_t)*_ui64tow(unsigned __int64,MSVCRT(wchar_t)*,int);
336 MSVCRT(wchar_t)*_ultow(unsigned long,MSVCRT(wchar_t)*,int);
337 MSVCRT(wchar_t)*_wfullpath(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,size_t);
338 MSVCRT(wchar_t)*_wgetenv(const MSVCRT(wchar_t)*);
339 void            _wmakepath(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
340 void            _wperror(const MSVCRT(wchar_t)*);
341 int             _wputenv(const MSVCRT(wchar_t)*);
342 void            _wsearchenv(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(wchar_t)*);
343 void            _wsplitpath(const MSVCRT(wchar_t)*,MSVCRT(wchar_t)*,MSVCRT(wchar_t)*,MSVCRT(wchar_t)*,MSVCRT(wchar_t)*);
344 int             _wsystem(const MSVCRT(wchar_t)*);
345 int             _wtoi(const MSVCRT(wchar_t)*);
346 __int64         _wtoi64(const MSVCRT(wchar_t)*);
347 long            _wtol(const MSVCRT(wchar_t)*);
348
349 MSVCRT(size_t) MSVCRT(mbstowcs)(MSVCRT(wchar_t)*,const char*,MSVCRT(size_t));
350 int            MSVCRT(mbtowc)(MSVCRT(wchar_t)*,const char*,MSVCRT(size_t));
351 double         MSVCRT(wcstod)(const MSVCRT(wchar_t)*,MSVCRT(wchar_t)**);
352 long           MSVCRT(wcstol)(const MSVCRT(wchar_t)*,MSVCRT(wchar_t)**,int);
353 MSVCRT(size_t) MSVCRT(wcstombs)(char*,const MSVCRT(wchar_t)*,MSVCRT(size_t));
354 unsigned long  MSVCRT(wcstoul)(const MSVCRT(wchar_t)*,MSVCRT(wchar_t)**,int);
355 int            MSVCRT(wctomb)(char*,MSVCRT(wchar_t));
356 #endif /* MSVCRT_WSTDLIB_DEFINED */
357
358 #ifndef MSVCRT_WSTRING_DEFINED
359 #define MSVCRT_WSTRING_DEFINED
360 MSVCRT(wchar_t)*_wcsdup(const MSVCRT(wchar_t)*);
361 int             _wcsicmp(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
362 int             _wcsicoll(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
363 MSVCRT(wchar_t)*_wcslwr(MSVCRT(wchar_t)*);
364 int             _wcsnicmp(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(size_t));
365 MSVCRT(wchar_t)*_wcsnset(MSVCRT(wchar_t)*,MSVCRT(wchar_t),MSVCRT(size_t));
366 MSVCRT(wchar_t)*_wcsrev(MSVCRT(wchar_t)*);
367 MSVCRT(wchar_t)*_wcsset(MSVCRT(wchar_t)*,MSVCRT(wchar_t));
368 MSVCRT(wchar_t)*_wcsupr(MSVCRT(wchar_t)*);
369
370 MSVCRT(wchar_t)*MSVCRT(wcscat)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
371 MSVCRT(wchar_t)*MSVCRT(wcschr)(const MSVCRT(wchar_t)*,MSVCRT(wchar_t));
372 int             MSVCRT(wcscmp)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
373 int             MSVCRT(wcscoll)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
374 MSVCRT(wchar_t)*MSVCRT(wcscpy)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
375 MSVCRT(size_t)  MSVCRT(wcscspn)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
376 MSVCRT(size_t)  MSVCRT(wcslen)(const MSVCRT(wchar_t)*);
377 MSVCRT(wchar_t)*MSVCRT(wcsncat)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(size_t));
378 int             MSVCRT(wcsncmp)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(size_t));
379 MSVCRT(wchar_t)*MSVCRT(wcsncpy)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(size_t));
380 MSVCRT(wchar_t)*MSVCRT(wcspbrk)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
381 MSVCRT(wchar_t)*MSVCRT(wcsrchr)(const MSVCRT(wchar_t)*,MSVCRT(wchar_t) wcFor);
382 MSVCRT(size_t)  MSVCRT(wcsspn)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
383 MSVCRT(wchar_t)*MSVCRT(wcsstr)(const MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
384 MSVCRT(wchar_t)*MSVCRT(wcstok)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*);
385 MSVCRT(size_t)  MSVCRT(wcsxfrm)(MSVCRT(wchar_t)*,const MSVCRT(wchar_t)*,MSVCRT(size_t));
386 #endif /* MSVCRT_WSTRING_DEFINED */
387
388 #ifndef MSVCRT_WTIME_DEFINED
389 #define MSVCRT_WTIME_DEFINED
390 MSVCRT(wchar_t)*_wasctime(const struct MSVCRT(tm)*);
391 MSVCRT(size_t)  wcsftime(MSVCRT(wchar_t)*,MSVCRT(size_t),const MSVCRT(wchar_t)*,const struct MSVCRT(tm)*);
392 MSVCRT(wchar_t)*_wctime(const MSVCRT(time_t)*);
393 MSVCRT(wchar_t)*_wstrdate(MSVCRT(wchar_t)*);
394 MSVCRT(wchar_t)*_wstrtime(MSVCRT(wchar_t)*);
395 #endif /* MSVCRT_WTIME_DEFINED */
396
397 MSVCRT(wchar_t) btowc(int);
398 MSVCRT(size_t)  mbrlen(const char *,MSVCRT(size_t),MSVCRT(mbstate_t)*);
399 MSVCRT(size_t)  mbrtowc(MSVCRT(wchar_t)*,const char*,MSVCRT(size_t),MSVCRT(mbstate_t)*);
400 MSVCRT(size_t)  mbsrtowcs(MSVCRT(wchar_t)*,const char**,MSVCRT(size_t),MSVCRT(mbstate_t)*);
401 MSVCRT(size_t)  wcrtomb(char*,MSVCRT(wchar_t),MSVCRT(mbstate_t)*);
402 MSVCRT(size_t)  wcsrtombs(char*,const MSVCRT(wchar_t)**,MSVCRT(size_t),MSVCRT(mbstate_t)*);
403 int             wctob(MSVCRT(wint_t));
404
405 #ifdef __cplusplus
406 }
407 #endif
408
409 #endif /* __WINE_WCHAR_H */