tccpp: tcc_warning("extra tokens after directive")
[tinycc.git] / win32 / include / wchar.h
blob389196fafba088146c746eace9012a908030a881
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifndef _INC_WCHAR
7 #define _INC_WCHAR
9 #include <_mingw.h>
11 #pragma pack(push,_CRT_PACKING)
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
17 #ifndef WCHAR_MIN /* also at stdint.h */
18 #define WCHAR_MIN 0
19 #define WCHAR_MAX ((wchar_t) -1) /* UINT16_MAX */
20 #endif
22 #ifndef __GNUC_VA_LIST
23 #define __GNUC_VA_LIST
24 typedef __builtin_va_list __gnuc_va_list;
25 #endif
27 #ifndef _VA_LIST_DEFINED
28 #define _VA_LIST_DEFINED
29 typedef __gnuc_va_list va_list;
30 #endif
32 #ifndef WEOF
33 #define WEOF (wint_t)(0xFFFF)
34 #endif
36 #ifndef _FILE_DEFINED
37 struct _iobuf {
38 char *_ptr;
39 int _cnt;
40 char *_base;
41 int _flag;
42 int _file;
43 int _charbuf;
44 int _bufsiz;
45 char *_tmpfname;
47 typedef struct _iobuf FILE;
48 #define _FILE_DEFINED
49 #endif
51 #ifndef _STDIO_DEFINED
52 #ifdef _WIN64
53 _CRTIMP FILE *__cdecl __iob_func(void);
54 #else
55 #ifdef _MSVCRT_
56 extern FILE _iob[]; /* A pointer to an array of FILE */
57 #define __iob_func() (_iob)
58 #else
59 extern FILE (*_imp___iob)[]; /* A pointer to an array of FILE */
60 #define __iob_func() (*_imp___iob)
61 #define _iob __iob_func()
62 #endif
63 #endif
65 #define _iob __iob_func()
66 #endif
68 #ifndef _STDSTREAM_DEFINED
69 #define stdin (&__iob_func()[0])
70 #define stdout (&__iob_func()[1])
71 #define stderr (&__iob_func()[2])
72 #define _STDSTREAM_DEFINED
73 #endif
75 #ifndef _FSIZE_T_DEFINED
76 typedef unsigned long _fsize_t;
77 #define _FSIZE_T_DEFINED
78 #endif
80 #ifndef _WFINDDATA_T_DEFINED
81 struct _wfinddata32_t {
82 unsigned attrib;
83 __time32_t time_create;
84 __time32_t time_access;
85 __time32_t time_write;
86 _fsize_t size;
87 wchar_t name[260];
90 /* #if _INTEGRAL_MAX_BITS >= 64 */
92 struct _wfinddata32i64_t {
93 unsigned attrib;
94 __time32_t time_create;
95 __time32_t time_access;
96 __time32_t time_write;
97 __int64 size;
98 wchar_t name[260];
101 struct _wfinddata64i32_t {
102 unsigned attrib;
103 __time64_t time_create;
104 __time64_t time_access;
105 __time64_t time_write;
106 _fsize_t size;
107 wchar_t name[260];
110 struct _wfinddata64_t {
111 unsigned attrib;
112 __time64_t time_create;
113 __time64_t time_access;
114 __time64_t time_write;
115 __int64 size;
116 wchar_t name[260];
118 /* #endif */
120 #ifdef _USE_32BIT_TIME_T
121 #define _wfinddata_t _wfinddata32_t
122 #define _wfinddatai64_t _wfinddata32i64_t
124 #define _wfindfirst _wfindfirst32
125 #define _wfindnext _wfindnext32
126 #define _wfindfirsti64 _wfindfirst32i64
127 #define _wfindnexti64 _wfindnext32i64
128 #else
129 #define _wfinddata_t _wfinddata64i32_t
130 #define _wfinddatai64_t _wfinddata64_t
132 #define _wfindfirst _wfindfirst64i32
133 #define _wfindnext _wfindnext64i32
134 #define _wfindfirsti64 _wfindfirst64
135 #define _wfindnexti64 _wfindnext64
136 #endif
138 #define _WFINDDATA_T_DEFINED
139 #endif
141 #ifndef NULL
142 #ifdef __cplusplus
143 #define NULL 0
144 #else
145 #define NULL ((void *)0)
146 #endif
147 #endif
149 #ifndef _CONST_RETURN
150 #define _CONST_RETURN
151 #endif
153 #define _WConst_return _CONST_RETURN
155 #ifndef _CRT_CTYPEDATA_DEFINED
156 #define _CRT_CTYPEDATA_DEFINED
157 #ifndef _CTYPE_DISABLE_MACROS
159 #ifndef __PCTYPE_FUNC
160 #define __PCTYPE_FUNC __pctype_func()
161 #ifdef _MSVCRT_
162 #define __pctype_func() (_pctype)
163 #else
164 #define __pctype_func() (*_imp___pctype)
165 #endif
166 #endif
168 #ifndef _pctype
169 #ifdef _MSVCRT_
170 extern unsigned short *_pctype;
171 #else
172 extern unsigned short **_imp___pctype;
173 #define _pctype (*_imp___pctype)
174 #endif
175 #endif
176 #endif
177 #endif
179 #ifndef _CRT_WCTYPEDATA_DEFINED
180 #define _CRT_WCTYPEDATA_DEFINED
181 #ifndef _CTYPE_DISABLE_MACROS
182 #ifndef _wctype
183 #ifdef _MSVCRT_
184 extern unsigned short *_wctype;
185 #else
186 extern unsigned short **_imp___wctype;
187 #define _wctype (*_imp___wctype)
188 #endif
189 #endif
191 #ifdef _MSVCRT_
192 #define __pwctype_func() (_pwctype)
193 #else
194 #define __pwctype_func() (*_imp___pwctype)
195 #endif
197 #ifndef _pwctype
198 #ifdef _MSVCRT_
199 extern unsigned short *_pwctype;
200 #else
201 extern unsigned short **_imp___pwctype;
202 #define _pwctype (*_imp___pwctype)
203 #endif
204 #endif
206 #endif
207 #endif
209 #define _UPPER 0x1
210 #define _LOWER 0x2
211 #define _DIGIT 0x4
212 #define _SPACE 0x8
214 #define _PUNCT 0x10
215 #define _CONTROL 0x20
216 #define _BLANK 0x40
217 #define _HEX 0x80
219 #define _LEADBYTE 0x8000
220 #define _ALPHA (0x0100|_UPPER|_LOWER)
222 #ifndef _WCTYPE_DEFINED
223 #define _WCTYPE_DEFINED
225 int __cdecl iswalpha(wint_t _C);
226 _CRTIMP int __cdecl _iswalpha_l(wint_t _C,_locale_t _Locale);
227 int __cdecl iswupper(wint_t _C);
228 _CRTIMP int __cdecl _iswupper_l(wint_t _C,_locale_t _Locale);
229 int __cdecl iswlower(wint_t _C);
230 _CRTIMP int __cdecl _iswlower_l(wint_t _C,_locale_t _Locale);
231 int __cdecl iswdigit(wint_t _C);
232 _CRTIMP int __cdecl _iswdigit_l(wint_t _C,_locale_t _Locale);
233 int __cdecl iswxdigit(wint_t _C);
234 _CRTIMP int __cdecl _iswxdigit_l(wint_t _C,_locale_t _Locale);
235 int __cdecl iswspace(wint_t _C);
236 _CRTIMP int __cdecl _iswspace_l(wint_t _C,_locale_t _Locale);
237 int __cdecl iswpunct(wint_t _C);
238 _CRTIMP int __cdecl _iswpunct_l(wint_t _C,_locale_t _Locale);
239 int __cdecl iswalnum(wint_t _C);
240 _CRTIMP int __cdecl _iswalnum_l(wint_t _C,_locale_t _Locale);
241 int __cdecl iswprint(wint_t _C);
242 _CRTIMP int __cdecl _iswprint_l(wint_t _C,_locale_t _Locale);
243 int __cdecl iswgraph(wint_t _C);
244 _CRTIMP int __cdecl _iswgraph_l(wint_t _C,_locale_t _Locale);
245 int __cdecl iswcntrl(wint_t _C);
246 _CRTIMP int __cdecl _iswcntrl_l(wint_t _C,_locale_t _Locale);
247 int __cdecl iswascii(wint_t _C);
248 int __cdecl isleadbyte(int _C);
249 _CRTIMP int __cdecl _isleadbyte_l(int _C,_locale_t _Locale);
250 wint_t __cdecl towupper(wint_t _C);
251 _CRTIMP wint_t __cdecl _towupper_l(wint_t _C,_locale_t _Locale);
252 wint_t __cdecl towlower(wint_t _C);
253 _CRTIMP wint_t __cdecl _towlower_l(wint_t _C,_locale_t _Locale);
254 int __cdecl iswctype(wint_t _C,wctype_t _Type);
255 _CRTIMP int __cdecl _iswctype_l(wint_t _C,wctype_t _Type,_locale_t _Locale);
256 _CRTIMP int __cdecl __iswcsymf(wint_t _C);
257 _CRTIMP int __cdecl _iswcsymf_l(wint_t _C,_locale_t _Locale);
258 _CRTIMP int __cdecl __iswcsym(wint_t _C);
259 _CRTIMP int __cdecl _iswcsym_l(wint_t _C,_locale_t _Locale);
260 int __cdecl is_wctype(wint_t _C,wctype_t _Type);
261 #endif
263 #ifndef _WDIRECT_DEFINED
264 #define _WDIRECT_DEFINED
266 _CRTIMP wchar_t *__cdecl _wgetcwd(wchar_t *_DstBuf,int _SizeInWords);
267 _CRTIMP wchar_t *__cdecl _wgetdcwd(int _Drive,wchar_t *_DstBuf,int _SizeInWords);
268 wchar_t *__cdecl _wgetdcwd_nolock(int _Drive,wchar_t *_DstBuf,int _SizeInWords);
269 _CRTIMP int __cdecl _wchdir(const wchar_t *_Path);
270 _CRTIMP int __cdecl _wmkdir(const wchar_t *_Path);
271 _CRTIMP int __cdecl _wrmdir(const wchar_t *_Path);
272 #endif
274 #ifndef _WIO_DEFINED
275 #define _WIO_DEFINED
277 _CRTIMP int __cdecl _waccess(const wchar_t *_Filename,int _AccessMode);
278 _CRTIMP int __cdecl _wchmod(const wchar_t *_Filename,int _Mode);
279 _CRTIMP int __cdecl _wcreat(const wchar_t *_Filename,int _PermissionMode);
280 _CRTIMP intptr_t __cdecl _wfindfirst32(const wchar_t *_Filename,struct _wfinddata32_t *_FindData);
281 _CRTIMP int __cdecl _wfindnext32(intptr_t _FindHandle,struct _wfinddata32_t *_FindData);
282 _CRTIMP int __cdecl _wunlink(const wchar_t *_Filename);
283 _CRTIMP int __cdecl _wrename(const wchar_t *_NewFilename,const wchar_t *_OldFilename);
284 _CRTIMP wchar_t *__cdecl _wmktemp(wchar_t *_TemplateName);
285 #if _INTEGRAL_MAX_BITS >= 64
286 _CRTIMP intptr_t __cdecl _wfindfirst32i64(const wchar_t *_Filename,struct _wfinddata32i64_t *_FindData);
287 intptr_t __cdecl _wfindfirst64i32(const wchar_t *_Filename,struct _wfinddata64i32_t *_FindData);
288 _CRTIMP intptr_t __cdecl _wfindfirst64(const wchar_t *_Filename,struct _wfinddata64_t *_FindData);
289 _CRTIMP int __cdecl _wfindnext32i64(intptr_t _FindHandle,struct _wfinddata32i64_t *_FindData);
290 int __cdecl _wfindnext64i32(intptr_t _FindHandle,struct _wfinddata64i32_t *_FindData);
291 _CRTIMP int __cdecl _wfindnext64(intptr_t _FindHandle,struct _wfinddata64_t *_FindData);
292 #endif
293 _CRTIMP errno_t __cdecl _wsopen_s(int *_FileHandle,const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionFlag);
294 #if !defined(__cplusplus) || !(defined(_X86_) && !defined(__x86_64))
295 _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...);
296 _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...);
297 #else
298 extern "C++" _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,int _PermissionMode = 0);
299 extern "C++" _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionMode = 0);
300 #endif
301 #endif
303 #ifndef _WLOCALE_DEFINED
304 #define _WLOCALE_DEFINED
305 _CRTIMP wchar_t *__cdecl _wsetlocale(int _Category,const wchar_t *_Locale);
306 #endif
308 #ifndef _WPROCESS_DEFINED
309 #define _WPROCESS_DEFINED
311 _CRTIMP intptr_t __cdecl _wexecl(const wchar_t *_Filename,const wchar_t *_ArgList,...);
312 _CRTIMP intptr_t __cdecl _wexecle(const wchar_t *_Filename,const wchar_t *_ArgList,...);
313 _CRTIMP intptr_t __cdecl _wexeclp(const wchar_t *_Filename,const wchar_t *_ArgList,...);
314 _CRTIMP intptr_t __cdecl _wexeclpe(const wchar_t *_Filename,const wchar_t *_ArgList,...);
315 _CRTIMP intptr_t __cdecl _wexecv(const wchar_t *_Filename,const wchar_t *const *_ArgList);
316 _CRTIMP intptr_t __cdecl _wexecve(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
317 _CRTIMP intptr_t __cdecl _wexecvp(const wchar_t *_Filename,const wchar_t *const *_ArgList);
318 _CRTIMP intptr_t __cdecl _wexecvpe(const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
319 _CRTIMP intptr_t __cdecl _wspawnl(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
320 _CRTIMP intptr_t __cdecl _wspawnle(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
321 _CRTIMP intptr_t __cdecl _wspawnlp(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
322 _CRTIMP intptr_t __cdecl _wspawnlpe(int _Mode,const wchar_t *_Filename,const wchar_t *_ArgList,...);
323 _CRTIMP intptr_t __cdecl _wspawnv(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
324 _CRTIMP intptr_t __cdecl _wspawnve(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
325 _CRTIMP intptr_t __cdecl _wspawnvp(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList);
326 _CRTIMP intptr_t __cdecl _wspawnvpe(int _Mode,const wchar_t *_Filename,const wchar_t *const *_ArgList,const wchar_t *const *_Env);
327 #ifndef _CRT_WSYSTEM_DEFINED
328 #define _CRT_WSYSTEM_DEFINED
329 _CRTIMP int __cdecl _wsystem(const wchar_t *_Command);
330 #endif
331 #endif
333 #ifndef _WCTYPE_INLINE_DEFINED
334 #undef _CRT_WCTYPE_NOINLINE
335 #if !defined(__cplusplus) || defined(_CRT_WCTYPE_NOINLINE)
336 #define iswalpha(_c) (iswctype(_c,_ALPHA))
337 #define iswupper(_c) (iswctype(_c,_UPPER))
338 #define iswlower(_c) (iswctype(_c,_LOWER))
339 #define iswdigit(_c) (iswctype(_c,_DIGIT))
340 #define iswxdigit(_c) (iswctype(_c,_HEX))
341 #define iswspace(_c) (iswctype(_c,_SPACE))
342 #define iswpunct(_c) (iswctype(_c,_PUNCT))
343 #define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT))
344 #define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT))
345 #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT))
346 #define iswcntrl(_c) (iswctype(_c,_CONTROL))
347 #define iswascii(_c) ((unsigned)(_c) < 0x80)
349 #define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p))
350 #define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p))
351 #define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p))
352 #define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p))
353 #define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p))
354 #define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p))
355 #define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p))
356 #define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p))
357 #define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p))
358 #define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p))
359 #define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p))
360 #ifndef _CTYPE_DISABLE_MACROS
361 #define isleadbyte(_c) (__PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE)
362 #endif
363 #endif
364 #define _WCTYPE_INLINE_DEFINED
365 #endif
367 #if !defined(_POSIX_) || defined(__GNUC__)
368 #ifndef _INO_T_DEFINED
369 #define _INO_T_DEFINED
370 typedef unsigned short _ino_t;
371 #ifndef NO_OLDNAMES
372 typedef unsigned short ino_t;
373 #endif
374 #endif
376 #ifndef _DEV_T_DEFINED
377 #define _DEV_T_DEFINED
378 typedef unsigned int _dev_t;
379 #ifndef NO_OLDNAMES
380 typedef unsigned int dev_t;
381 #endif
382 #endif
384 #ifndef _OFF_T_DEFINED
385 #define _OFF_T_DEFINED
386 #ifndef _OFF_T_
387 #define _OFF_T_
388 typedef long _off_t;
389 #if !defined(NO_OLDNAMES) || defined(_POSIX)
390 typedef long off_t;
391 #endif
392 #endif
393 #endif
395 #ifndef _OFF64_T_DEFINED
396 #define _OFF64_T_DEFINED
397 typedef long long _off64_t;
398 #if !defined(NO_OLDNAMES) || defined(_POSIX)
399 typedef long long off64_t;
400 #endif
401 #endif
403 #ifndef _STAT_DEFINED
404 #define _STAT_DEFINED
406 #ifdef _USE_32BIT_TIME_T
407 #ifdef WIN64
408 #define _fstat _fstat32
409 #define _stat _stat32
410 #define _wstat _wstat32
411 #else
412 #define _fstat32 _fstat
413 #define _stat32 _stat
414 #define _wstat32 _wstat
415 #endif
416 #define _fstati64 _fstat32i64
417 #define _stati64 _stat32i64
418 #define _wstati64 _wstat32i64
419 #else
420 #define _fstat _fstat64i32
421 #define _fstati64 _fstat64
422 #define _stat _stat64i32
423 #define _stati64 _stat64
424 #define _wstat _wstat64i32
425 #define _wstati64 _wstat64
426 #endif
428 struct _stat32 {
429 _dev_t st_dev;
430 _ino_t st_ino;
431 unsigned short st_mode;
432 short st_nlink;
433 short st_uid;
434 short st_gid;
435 _dev_t st_rdev;
436 _off_t st_size;
437 __time32_t st_atime;
438 __time32_t st_mtime;
439 __time32_t st_ctime;
442 #ifndef NO_OLDNAMES
443 struct stat {
444 _dev_t st_dev;
445 _ino_t st_ino;
446 unsigned short st_mode;
447 short st_nlink;
448 short st_uid;
449 short st_gid;
450 _dev_t st_rdev;
451 _off_t st_size;
452 time_t st_atime;
453 time_t st_mtime;
454 time_t st_ctime;
456 #endif
458 #if _INTEGRAL_MAX_BITS >= 64
460 struct _stat32i64 {
461 _dev_t st_dev;
462 _ino_t st_ino;
463 unsigned short st_mode;
464 short st_nlink;
465 short st_uid;
466 short st_gid;
467 _dev_t st_rdev;
468 __int64 st_size;
469 __time32_t st_atime;
470 __time32_t st_mtime;
471 __time32_t st_ctime;
474 struct _stat64i32 {
475 _dev_t st_dev;
476 _ino_t st_ino;
477 unsigned short st_mode;
478 short st_nlink;
479 short st_uid;
480 short st_gid;
481 _dev_t st_rdev;
482 _off_t st_size;
483 __time64_t st_atime;
484 __time64_t st_mtime;
485 __time64_t st_ctime;
488 struct _stat64 {
489 _dev_t st_dev;
490 _ino_t st_ino;
491 unsigned short st_mode;
492 short st_nlink;
493 short st_uid;
494 short st_gid;
495 _dev_t st_rdev;
496 __int64 st_size;
497 __time64_t st_atime;
498 __time64_t st_mtime;
499 __time64_t st_ctime;
501 #endif
503 #define __stat64 _stat64
505 #endif
507 #ifndef _WSTAT_DEFINED
508 #define _WSTAT_DEFINED
510 _CRTIMP int __cdecl _wstat32(const wchar_t *_Name,struct _stat32 *_Stat);
511 #if _INTEGRAL_MAX_BITS >= 64
512 _CRTIMP int __cdecl _wstat32i64(const wchar_t *_Name,struct _stat32i64 *_Stat);
513 int __cdecl _wstat64i32(const wchar_t *_Name,struct _stat64i32 *_Stat);
514 _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat);
515 #endif
516 #endif
517 #endif
519 #ifndef _WCONIO_DEFINED
520 #define _WCONIO_DEFINED
522 #ifndef WEOF
523 #define WEOF (wint_t)(0xFFFF)
524 #endif
526 _CRTIMP wchar_t *_cgetws(wchar_t *_Buffer);
527 _CRTIMP wint_t __cdecl _getwch(void);
528 _CRTIMP wint_t __cdecl _getwche(void);
529 _CRTIMP wint_t __cdecl _putwch(wchar_t _WCh);
530 _CRTIMP wint_t __cdecl _ungetwch(wint_t _WCh);
531 _CRTIMP int __cdecl _cputws(const wchar_t *_String);
532 _CRTIMP int __cdecl _cwprintf(const wchar_t *_Format,...);
533 _CRTIMP int __cdecl _cwscanf(const wchar_t *_Format,...);
534 _CRTIMP int __cdecl _cwscanf_l(const wchar_t *_Format,_locale_t _Locale,...);
535 _CRTIMP int __cdecl _vcwprintf(const wchar_t *_Format,va_list _ArgList);
536 _CRTIMP int __cdecl _cwprintf_p(const wchar_t *_Format,...);
537 _CRTIMP int __cdecl _vcwprintf_p(const wchar_t *_Format,va_list _ArgList);
539 _CRTIMP int __cdecl _cwprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
540 _CRTIMP int __cdecl _vcwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
541 _CRTIMP int __cdecl _cwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
542 _CRTIMP int __cdecl _vcwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
543 wint_t __cdecl _putwch_nolock(wchar_t _WCh);
544 wint_t __cdecl _getwch_nolock(void);
545 wint_t __cdecl _getwche_nolock(void);
546 wint_t __cdecl _ungetwch_nolock(wint_t _WCh);
547 #endif
549 #ifndef _WSTDIO_DEFINED
550 #define _WSTDIO_DEFINED
552 #ifndef WEOF
553 #define WEOF (wint_t)(0xFFFF)
554 #endif
556 #ifdef _POSIX_
557 _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode);
558 #else
559 _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode,int _ShFlag);
560 #endif
562 wint_t __cdecl fgetwc(FILE *_File);
563 _CRTIMP wint_t __cdecl _fgetwchar(void);
564 wint_t __cdecl fputwc(wchar_t _Ch,FILE *_File);
565 _CRTIMP wint_t __cdecl _fputwchar(wchar_t _Ch);
566 wint_t __cdecl getwc(FILE *_File);
567 wint_t __cdecl getwchar(void);
568 wint_t __cdecl putwc(wchar_t _Ch,FILE *_File);
569 wint_t __cdecl putwchar(wchar_t _Ch);
570 wint_t __cdecl ungetwc(wint_t _Ch,FILE *_File);
571 wchar_t *__cdecl fgetws(wchar_t *_Dst,int _SizeInWords,FILE *_File);
572 int __cdecl fputws(const wchar_t *_Str,FILE *_File);
573 _CRTIMP wchar_t *__cdecl _getws(wchar_t *_String);
574 _CRTIMP int __cdecl _putws(const wchar_t *_Str);
575 int __cdecl fwprintf(FILE *_File,const wchar_t *_Format,...);
576 int __cdecl wprintf(const wchar_t *_Format,...);
577 _CRTIMP int __cdecl _scwprintf(const wchar_t *_Format,...);
578 int __cdecl vfwprintf(FILE *_File,const wchar_t *_Format,va_list _ArgList);
579 int __cdecl vwprintf(const wchar_t *_Format,va_list _ArgList);
580 _CRTIMP int __cdecl swprintf(wchar_t*, const wchar_t*, ...);
581 _CRTIMP int __cdecl vswprintf(wchar_t*, const wchar_t*,va_list);
582 _CRTIMP int __cdecl _swprintf_c(wchar_t *_DstBuf,size_t _SizeInWords,const wchar_t *_Format,...);
583 _CRTIMP int __cdecl _vswprintf_c(wchar_t *_DstBuf,size_t _SizeInWords,const wchar_t *_Format,va_list _ArgList);
584 _CRTIMP int __cdecl _snwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,...);
585 _CRTIMP int __cdecl _vsnwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,va_list _Args);
586 #ifndef __NO_ISOCEXT /* externs in libmingwex.a */
587 int __cdecl snwprintf (wchar_t *s, size_t n, const wchar_t * format, ...);
588 __CRT_INLINE int __cdecl vsnwprintf (wchar_t *s, size_t n, const wchar_t *format, va_list arg) { return _vsnwprintf(s,n,format,arg); }
589 int __cdecl vwscanf (const wchar_t *, va_list);
590 int __cdecl vfwscanf (FILE *,const wchar_t *,va_list);
591 int __cdecl vswscanf (const wchar_t *,const wchar_t *,va_list);
592 #endif
593 _CRTIMP int __cdecl _fwprintf_p(FILE *_File,const wchar_t *_Format,...);
594 _CRTIMP int __cdecl _wprintf_p(const wchar_t *_Format,...);
595 _CRTIMP int __cdecl _vfwprintf_p(FILE *_File,const wchar_t *_Format,va_list _ArgList);
596 _CRTIMP int __cdecl _vwprintf_p(const wchar_t *_Format,va_list _ArgList);
597 _CRTIMP int __cdecl _swprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,...);
598 _CRTIMP int __cdecl _vswprintf_p(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,va_list _ArgList);
599 _CRTIMP int __cdecl _scwprintf_p(const wchar_t *_Format,...);
600 _CRTIMP int __cdecl _vscwprintf_p(const wchar_t *_Format,va_list _ArgList);
601 _CRTIMP int __cdecl _wprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
602 _CRTIMP int __cdecl _wprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
603 _CRTIMP int __cdecl _vwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
604 _CRTIMP int __cdecl _vwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
605 _CRTIMP int __cdecl _fwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
606 _CRTIMP int __cdecl _fwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
607 _CRTIMP int __cdecl _vfwprintf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
608 _CRTIMP int __cdecl _vfwprintf_p_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
609 _CRTIMP int __cdecl _swprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
610 _CRTIMP int __cdecl _swprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
611 _CRTIMP int __cdecl _vswprintf_c_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
612 _CRTIMP int __cdecl _vswprintf_p_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
613 _CRTIMP int __cdecl _scwprintf_l(const wchar_t *_Format,_locale_t _Locale,...);
614 _CRTIMP int __cdecl _scwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,...);
615 _CRTIMP int __cdecl _vscwprintf_p_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
616 _CRTIMP int __cdecl _snwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
617 _CRTIMP int __cdecl _vsnwprintf_l(wchar_t *_DstBuf,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
618 _CRTIMP int __cdecl _swprintf(wchar_t *_Dest,const wchar_t *_Format,...);
619 _CRTIMP int __cdecl _vswprintf(wchar_t *_Dest,const wchar_t *_Format,va_list _Args);
620 _CRTIMP int __cdecl __swprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,...);
621 _CRTIMP int __cdecl __vswprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,va_list _Args);
622 #ifndef RC_INVOKED
623 #include <vadefs.h>
624 #endif
626 #ifdef _CRT_NON_CONFORMING_SWPRINTFS
627 #ifndef __cplusplus
628 #define swprintf _swprintf
629 #define vswprintf _vswprintf
630 #define _swprintf_l __swprintf_l
631 #define _vswprintf_l __vswprintf_l
632 #endif
633 #endif
635 _CRTIMP wchar_t *__cdecl _wtempnam(const wchar_t *_Directory,const wchar_t *_FilePrefix);
636 _CRTIMP int __cdecl _vscwprintf(const wchar_t *_Format,va_list _ArgList);
637 _CRTIMP int __cdecl _vscwprintf_l(const wchar_t *_Format,_locale_t _Locale,va_list _ArgList);
638 int __cdecl fwscanf(FILE *_File,const wchar_t *_Format,...);
639 _CRTIMP int __cdecl _fwscanf_l(FILE *_File,const wchar_t *_Format,_locale_t _Locale,...);
640 int __cdecl swscanf(const wchar_t *_Src,const wchar_t *_Format,...);
641 _CRTIMP int __cdecl _swscanf_l(const wchar_t *_Src,const wchar_t *_Format,_locale_t _Locale,...);
642 _CRTIMP int __cdecl _snwscanf(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,...);
643 _CRTIMP int __cdecl _snwscanf_l(const wchar_t *_Src,size_t _MaxCount,const wchar_t *_Format,_locale_t _Locale,...);
644 int __cdecl wscanf(const wchar_t *_Format,...);
645 _CRTIMP int __cdecl _wscanf_l(const wchar_t *_Format,_locale_t _Locale,...);
646 _CRTIMP FILE *__cdecl _wfdopen(int _FileHandle ,const wchar_t *_Mode);
647 _CRTIMP FILE *__cdecl _wfopen(const wchar_t *_Filename,const wchar_t *_Mode);
648 _CRTIMP FILE *__cdecl _wfreopen(const wchar_t *_Filename,const wchar_t *_Mode,FILE *_OldFile);
650 #ifndef _CRT_WPERROR_DEFINED
651 #define _CRT_WPERROR_DEFINED
652 _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg);
653 #endif
654 _CRTIMP FILE *__cdecl _wpopen(const wchar_t *_Command,const wchar_t *_Mode);
655 #if !defined(NO_OLDNAMES) && !defined(wpopen)
656 #define wpopen _wpopen
657 #endif
658 _CRTIMP int __cdecl _wremove(const wchar_t *_Filename);
659 _CRTIMP wchar_t *__cdecl _wtmpnam(wchar_t *_Buffer);
660 _CRTIMP wint_t __cdecl _fgetwc_nolock(FILE *_File);
661 _CRTIMP wint_t __cdecl _fputwc_nolock(wchar_t _Ch,FILE *_File);
662 _CRTIMP wint_t __cdecl _ungetwc_nolock(wint_t _Ch,FILE *_File);
664 #undef _CRT_GETPUTWCHAR_NOINLINE
666 #if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE)
667 #define getwchar() fgetwc(stdin)
668 #define putwchar(_c) fputwc((_c),stdout)
669 #else
670 __CRT_INLINE wint_t __cdecl getwchar() {return (fgetwc(stdin)); }
671 __CRT_INLINE wint_t __cdecl putwchar(wchar_t _C) {return (fputwc(_C,stdout)); }
672 #endif
674 #define getwc(_stm) fgetwc(_stm)
675 #define putwc(_c,_stm) fputwc(_c,_stm)
676 #define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm)
677 #define _getwc_nolock(_c) _fgetwc_nolock(_c)
678 #endif
680 #ifndef _WSTDLIB_DEFINED
681 #define _WSTDLIB_DEFINED
683 _CRTIMP wchar_t *__cdecl _itow(int _Value,wchar_t *_Dest,int _Radix);
684 _CRTIMP wchar_t *__cdecl _ltow(long _Value,wchar_t *_Dest,int _Radix);
685 _CRTIMP wchar_t *__cdecl _ultow(unsigned long _Value,wchar_t *_Dest,int _Radix);
686 double __cdecl wcstod(const wchar_t *_Str,wchar_t **_EndPtr);
687 _CRTIMP double __cdecl _wcstod_l(const wchar_t *_Str,wchar_t **_EndPtr,_locale_t _Locale);
688 float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr);
689 #if !defined __NO_ISOCEXT /* in libmingwex.a */
690 float __cdecl wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__);
691 long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__);
692 #endif /* __NO_ISOCEXT */
693 long __cdecl wcstol(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
694 _CRTIMP long __cdecl _wcstol_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
695 unsigned long __cdecl wcstoul(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
696 _CRTIMP unsigned long __cdecl _wcstoul_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
697 _CRTIMP wchar_t *__cdecl _wgetenv(const wchar_t *_VarName);
698 #ifndef _CRT_WSYSTEM_DEFINED
699 #define _CRT_WSYSTEM_DEFINED
700 _CRTIMP int __cdecl _wsystem(const wchar_t *_Command);
701 #endif
702 _CRTIMP double __cdecl _wtof(const wchar_t *_Str);
703 _CRTIMP double __cdecl _wtof_l(const wchar_t *_Str,_locale_t _Locale);
704 _CRTIMP int __cdecl _wtoi(const wchar_t *_Str);
705 _CRTIMP int __cdecl _wtoi_l(const wchar_t *_Str,_locale_t _Locale);
706 _CRTIMP long __cdecl _wtol(const wchar_t *_Str);
707 _CRTIMP long __cdecl _wtol_l(const wchar_t *_Str,_locale_t _Locale);
709 #if _INTEGRAL_MAX_BITS >= 64
710 _CRTIMP wchar_t *__cdecl _i64tow(__int64 _Val,wchar_t *_DstBuf,int _Radix);
711 _CRTIMP wchar_t *__cdecl _ui64tow(unsigned __int64 _Val,wchar_t *_DstBuf,int _Radix);
712 _CRTIMP __int64 __cdecl _wtoi64(const wchar_t *_Str);
713 _CRTIMP __int64 __cdecl _wtoi64_l(const wchar_t *_Str,_locale_t _Locale);
714 _CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
715 _CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
716 _CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix);
717 _CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *_Str,wchar_t **_EndPtr,int _Radix,_locale_t _Locale);
718 #endif
719 #endif
721 #ifndef _POSIX_
722 #ifndef _WSTDLIBP_DEFINED
723 #define _WSTDLIBP_DEFINED
724 _CRTIMP wchar_t *__cdecl _wfullpath(wchar_t *_FullPath,const wchar_t *_Path,size_t _SizeInWords);
725 _CRTIMP void __cdecl _wmakepath(wchar_t *_ResultPath,const wchar_t *_Drive,const wchar_t *_Dir,const wchar_t *_Filename,const wchar_t *_Ext);
726 #ifndef _CRT_WPERROR_DEFINED
727 #define _CRT_WPERROR_DEFINED
728 _CRTIMP void __cdecl _wperror(const wchar_t *_ErrMsg);
729 #endif
730 _CRTIMP int __cdecl _wputenv(const wchar_t *_EnvString);
731 _CRTIMP void __cdecl _wsearchenv(const wchar_t *_Filename,const wchar_t *_EnvVar,wchar_t *_ResultPath);
732 _CRTIMP void __cdecl _wsplitpath(const wchar_t *_FullPath,wchar_t *_Drive,wchar_t *_Dir,wchar_t *_Filename,wchar_t *_Ext);
733 #endif
734 #endif
736 #ifndef _WSTRING_DEFINED
737 #define _WSTRING_DEFINED
738 _CRTIMP wchar_t *__cdecl _wcsdup(const wchar_t *_Str);
739 wchar_t *__cdecl wcscat(wchar_t *_Dest,const wchar_t *_Source);
740 _CONST_RETURN wchar_t *__cdecl wcschr(const wchar_t *_Str,wchar_t _Ch);
741 int __cdecl wcscmp(const wchar_t *_Str1,const wchar_t *_Str2);
742 wchar_t *__cdecl wcscpy(wchar_t *_Dest,const wchar_t *_Source);
743 size_t __cdecl wcscspn(const wchar_t *_Str,const wchar_t *_Control);
744 size_t __cdecl wcslen(const wchar_t *_Str);
745 size_t __cdecl wcsnlen(const wchar_t *_Src,size_t _MaxCount);
746 wchar_t *__cdecl wcsncat(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
747 int __cdecl wcsncmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
748 wchar_t *__cdecl wcsncpy(wchar_t *_Dest,const wchar_t *_Source,size_t _Count);
749 _CONST_RETURN wchar_t *__cdecl wcspbrk(const wchar_t *_Str,const wchar_t *_Control);
750 _CONST_RETURN wchar_t *__cdecl wcsrchr(const wchar_t *_Str,wchar_t _Ch);
751 size_t __cdecl wcsspn(const wchar_t *_Str,const wchar_t *_Control);
752 _CONST_RETURN wchar_t *__cdecl wcsstr(const wchar_t *_Str,const wchar_t *_SubStr);
753 wchar_t *__cdecl wcstok(wchar_t *_Str,const wchar_t *_Delim);
754 _CRTIMP wchar_t *__cdecl _wcserror(int _ErrNum);
755 _CRTIMP wchar_t *__cdecl __wcserror(const wchar_t *_Str);
756 _CRTIMP int __cdecl _wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2);
757 _CRTIMP int __cdecl _wcsicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
758 _CRTIMP int __cdecl _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
759 _CRTIMP int __cdecl _wcsnicmp_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
760 _CRTIMP wchar_t *__cdecl _wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount);
761 _CRTIMP wchar_t *__cdecl _wcsrev(wchar_t *_Str);
762 _CRTIMP wchar_t *__cdecl _wcsset(wchar_t *_Str,wchar_t _Val);
763 _CRTIMP wchar_t *__cdecl _wcslwr(wchar_t *_String);
764 _CRTIMP wchar_t *_wcslwr_l(wchar_t *_String,_locale_t _Locale);
765 _CRTIMP wchar_t *__cdecl _wcsupr(wchar_t *_String);
766 _CRTIMP wchar_t *_wcsupr_l(wchar_t *_String,_locale_t _Locale);
767 size_t __cdecl wcsxfrm(wchar_t *_Dst,const wchar_t *_Src,size_t _MaxCount);
768 _CRTIMP size_t __cdecl _wcsxfrm_l(wchar_t *_Dst,const wchar_t *_Src,size_t _MaxCount,_locale_t _Locale);
769 int __cdecl wcscoll(const wchar_t *_Str1,const wchar_t *_Str2);
770 _CRTIMP int __cdecl _wcscoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
771 _CRTIMP int __cdecl _wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2);
772 _CRTIMP int __cdecl _wcsicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,_locale_t _Locale);
773 _CRTIMP int __cdecl _wcsncoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
774 _CRTIMP int __cdecl _wcsncoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
775 _CRTIMP int __cdecl _wcsnicoll(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
776 _CRTIMP int __cdecl _wcsnicoll_l(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount,_locale_t _Locale);
778 #ifndef NO_OLDNAMES
779 wchar_t *__cdecl wcsdup(const wchar_t *_Str);
780 #define wcswcs wcsstr
781 int __cdecl wcsicmp(const wchar_t *_Str1,const wchar_t *_Str2);
782 int __cdecl wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
783 wchar_t *__cdecl wcsnset(wchar_t *_Str,wchar_t _Val,size_t _MaxCount);
784 wchar_t *__cdecl wcsrev(wchar_t *_Str);
785 wchar_t *__cdecl wcsset(wchar_t *_Str,wchar_t _Val);
786 wchar_t *__cdecl wcslwr(wchar_t *_Str);
787 wchar_t *__cdecl wcsupr(wchar_t *_Str);
788 int __cdecl wcsicoll(const wchar_t *_Str1,const wchar_t *_Str2);
789 #endif
790 #endif
792 #ifndef _TM_DEFINED
793 #define _TM_DEFINED
794 struct tm {
795 int tm_sec;
796 int tm_min;
797 int tm_hour;
798 int tm_mday;
799 int tm_mon;
800 int tm_year;
801 int tm_wday;
802 int tm_yday;
803 int tm_isdst;
805 #endif
807 #ifndef _WTIME_DEFINED
808 #define _WTIME_DEFINED
810 _CRTIMP wchar_t *__cdecl _wasctime(const struct tm *_Tm);
811 _CRTIMP wchar_t *__cdecl _wctime32(const __time32_t *_Time);
812 size_t __cdecl wcsftime(wchar_t *_Buf,size_t _SizeInWords,const wchar_t *_Format,const struct tm *_Tm);
813 _CRTIMP size_t __cdecl _wcsftime_l(wchar_t *_Buf,size_t _SizeInWords,const wchar_t *_Format,const struct tm *_Tm,_locale_t _Locale);
814 _CRTIMP wchar_t *__cdecl _wstrdate(wchar_t *_Buffer);
815 _CRTIMP wchar_t *__cdecl _wstrtime(wchar_t *_Buffer);
816 #if _INTEGRAL_MAX_BITS >= 64
817 _CRTIMP wchar_t *__cdecl _wctime64(const __time64_t *_Time);
818 #endif
820 #if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL)
821 #define _INC_WTIME_INL
822 #ifdef _USE_32BIT_TIME_T
823 __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime32(_Time); }
824 #else
825 __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); }
826 #endif
827 #endif
828 #endif
830 typedef int mbstate_t;
831 typedef wchar_t _Wint_t;
833 wint_t __cdecl btowc(int);
834 size_t __cdecl mbrlen(const char *_Ch,size_t _SizeInBytes,mbstate_t *_State);
835 size_t __cdecl mbrtowc(wchar_t *_DstCh,const char *_SrcCh,size_t _SizeInBytes,mbstate_t *_State);
836 size_t __cdecl mbsrtowcs(wchar_t *_Dest,const char **_PSrc,size_t _Count,mbstate_t *_State);
837 size_t __cdecl wcrtomb(char *_Dest,wchar_t _Source,mbstate_t *_State);
838 size_t __cdecl wcsrtombs(char *_Dest,const wchar_t **_PSource,size_t _Count,mbstate_t *_State);
839 int __cdecl wctob(wint_t _WCh);
841 #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */
842 wchar_t *__cdecl wmemset(wchar_t *s, wchar_t c, size_t n);
843 _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *s, wchar_t c, size_t n);
844 int wmemcmp(const wchar_t *s1, const wchar_t *s2,size_t n);
845 wchar_t *__cdecl wmemcpy(wchar_t *s1,const wchar_t *s2,size_t n);
846 wchar_t *__cdecl wmemmove(wchar_t *s1, const wchar_t *s2, size_t n);
847 long long __cdecl wcstoll(const wchar_t *nptr,wchar_t **endptr, int base);
848 unsigned long long __cdecl wcstoull(const wchar_t *nptr,wchar_t **endptr, int base);
849 #endif /* __NO_ISOCEXT */
851 void *__cdecl memmove(void *_Dst,const void *_Src,size_t _MaxCount);
852 void *__cdecl memcpy(void *_Dst,const void *_Src,size_t _MaxCount);
853 __CRT_INLINE int __cdecl fwide(FILE *_F,int _M) { (void)_F; return (_M); }
854 __CRT_INLINE int __cdecl mbsinit(const mbstate_t *_P) { return (!_P || *_P==0); }
855 __CRT_INLINE _CONST_RETURN wchar_t *__cdecl wmemchr(const wchar_t *_S,wchar_t _C,size_t _N) { for (;0<_N;++_S,--_N) if (*_S==_C) return (_CONST_RETURN wchar_t *)(_S); return (0); }
856 __CRT_INLINE int __cdecl wmemcmp(const wchar_t *_S1,const wchar_t *_S2,size_t _N) { for (; 0 < _N; ++_S1,++_S2,--_N) if (*_S1!=*_S2) return (*_S1 < *_S2 ? -1 : +1); return (0); }
857 __CRT_INLINE wchar_t *__cdecl wmemcpy(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memcpy(_S1,_S2,_N*sizeof(wchar_t)); }
858 __CRT_INLINE wchar_t *__cdecl wmemmove(wchar_t *_S1,const wchar_t *_S2,size_t _N) { return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t)); }
859 __CRT_INLINE wchar_t *__cdecl wmemset(wchar_t *_S,wchar_t _C,size_t _N) {
860 wchar_t *_Su = _S;
861 for (;0<_N;++_Su,--_N) {
862 *_Su = _C;
864 return (_S);
866 #ifdef __cplusplus
868 #endif
870 #pragma pack(pop)
872 #include <sec_api/wchar_s.h>
873 #endif