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.
11 #pragma pack(push,_CRT_PACKING)
17 #ifndef WCHAR_MIN /* also at stdint.h */
19 #define WCHAR_MAX ((wchar_t) -1) /* UINT16_MAX */
22 #ifndef __GNUC_VA_LIST
23 #define __GNUC_VA_LIST
24 typedef __builtin_va_list __gnuc_va_list
;
27 #ifndef _VA_LIST_DEFINED
28 #define _VA_LIST_DEFINED
29 typedef __gnuc_va_list
va_list;
33 #define WEOF (wint_t)(0xFFFF)
47 typedef struct _iobuf
FILE;
51 #ifndef _STDIO_DEFINED
53 _CRTIMP
FILE *__cdecl
__iob_func(void);
56 extern FILE _iob
[]; /* A pointer to an array of FILE */
57 #define __iob_func() (_iob)
59 extern FILE (*_imp___iob
)[]; /* A pointer to an array of FILE */
60 #define __iob_func() (*_imp___iob)
61 #define _iob __iob_func()
65 #define _iob __iob_func()
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
75 #ifndef _FSIZE_T_DEFINED
76 typedef unsigned long _fsize_t
;
77 #define _FSIZE_T_DEFINED
80 #ifndef _WFINDDATA_T_DEFINED
81 struct _wfinddata32_t
{
83 __time32_t time_create
;
84 __time32_t time_access
;
85 __time32_t time_write
;
90 /* #if _INTEGRAL_MAX_BITS >= 64 */
92 struct _wfinddata32i64_t
{
94 __time32_t time_create
;
95 __time32_t time_access
;
96 __time32_t time_write
;
101 struct _wfinddata64i32_t
{
103 __time64_t time_create
;
104 __time64_t time_access
;
105 __time64_t time_write
;
110 struct _wfinddata64_t
{
112 __time64_t time_create
;
113 __time64_t time_access
;
114 __time64_t time_write
;
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
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
138 #define _WFINDDATA_T_DEFINED
145 #define NULL ((void *)0)
149 #ifndef _CONST_RETURN
150 #define _CONST_RETURN
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()
162 #define __pctype_func() (_pctype)
164 #define __pctype_func() (*_imp___pctype)
170 extern unsigned short *_pctype
;
172 extern unsigned short **_imp___pctype
;
173 #define _pctype (*_imp___pctype)
179 #ifndef _CRT_WCTYPEDATA_DEFINED
180 #define _CRT_WCTYPEDATA_DEFINED
181 #ifndef _CTYPE_DISABLE_MACROS
184 extern unsigned short *_wctype
;
186 extern unsigned short **_imp___wctype
;
187 #define _wctype (*_imp___wctype)
192 #define __pwctype_func() (_pwctype)
194 #define __pwctype_func() (*_imp___pwctype)
199 extern unsigned short *_pwctype
;
201 extern unsigned short **_imp___pwctype
;
202 #define _pwctype (*_imp___pwctype)
215 #define _CONTROL 0x20
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
);
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
);
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
);
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
,...);
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);
303 #ifndef _WLOCALE_DEFINED
304 #define _WLOCALE_DEFINED
305 _CRTIMP
wchar_t *__cdecl
_wsetlocale(int _Category
,const wchar_t *_Locale
);
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
);
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)
364 #define _WCTYPE_INLINE_DEFINED
367 #if !defined(_POSIX_) || defined(__GNUC__)
368 #ifndef _INO_T_DEFINED
369 #define _INO_T_DEFINED
370 typedef unsigned short _ino_t
;
372 typedef unsigned short ino_t
;
376 #ifndef _DEV_T_DEFINED
377 #define _DEV_T_DEFINED
378 typedef unsigned int _dev_t
;
380 typedef unsigned int dev_t
;
384 #ifndef _OFF_T_DEFINED
385 #define _OFF_T_DEFINED
389 #if !defined(NO_OLDNAMES) || defined(_POSIX)
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
;
403 #ifndef _STAT_DEFINED
404 #define _STAT_DEFINED
406 #ifdef _USE_32BIT_TIME_T
408 #define _fstat _fstat32
409 #define _stat _stat32
410 #define _wstat _wstat32
412 #define _fstat32 _fstat
413 #define _stat32 _stat
414 #define _wstat32 _wstat
416 #define _fstati64 _fstat32i64
417 #define _stati64 _stat32i64
418 #define _wstati64 _wstat32i64
420 #define _fstat _fstat64i32
421 #define _fstati64 _fstat64
422 #define _stat _stat64i32
423 #define _stati64 _stat64
424 #define _wstat _wstat64i32
425 #define _wstati64 _wstat64
431 unsigned short st_mode
;
446 unsigned short st_mode
;
458 #if _INTEGRAL_MAX_BITS >= 64
463 unsigned short st_mode
;
477 unsigned short st_mode
;
491 unsigned short st_mode
;
503 #define __stat64 _stat64
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
);
519 #ifndef _WCONIO_DEFINED
520 #define _WCONIO_DEFINED
523 #define WEOF (wint_t)(0xFFFF)
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
);
549 #ifndef _WSTDIO_DEFINED
550 #define _WSTDIO_DEFINED
553 #define WEOF (wint_t)(0xFFFF)
557 _CRTIMP
FILE *__cdecl
_wfsopen(const wchar_t *_Filename
,const wchar_t *_Mode
);
559 _CRTIMP
FILE *__cdecl
_wfsopen(const wchar_t *_Filename
,const wchar_t *_Mode
,int _ShFlag
);
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);
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
);
626 #ifdef _CRT_NON_CONFORMING_SWPRINTFS
628 #define swprintf _swprintf
629 #define vswprintf _vswprintf
630 #define _swprintf_l __swprintf_l
631 #define _vswprintf_l __vswprintf_l
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
);
654 _CRTIMP
FILE *__cdecl
_wpopen(const wchar_t *_Command
,const wchar_t *_Mode
);
655 #if !defined(NO_OLDNAMES) && !defined(wpopen)
656 #define wpopen _wpopen
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)
670 __CRT_INLINE
wint_t __cdecl
getwchar() {return (fgetwc(stdin
)); }
671 __CRT_INLINE
wint_t __cdecl
putwchar(wchar_t _C
) {return (fputwc(_C
,stdout
)); }
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)
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
);
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
);
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
);
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
);
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
);
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
);
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
);
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
); }
825 __CRT_INLINE
wchar_t *__cdecl
_wctime(const time_t *_Time
) { return _wctime64(_Time
); }
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
) {
861 for (;0<_N
;++_Su
,--_N
) {
872 #include <sec_api/wchar_s.h>