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 8 9 #include <crtdefs.h> 10 11 #define __need___va_list 12 #include <stdarg.h> 13 14 #pragma pack(push,_CRT_PACKING) 15 16 #ifdef __cplusplus 17 extern "C" { 18 #endif 19 20 #ifdef _MSC_VER 21 #pragma warning(push) 22 #pragma warning(disable:4820) 23 #endif 24 25 #ifndef WCHAR_MIN 26 #define WCHAR_MIN 0 27 #endif 28 #ifndef WCHAR_MAX 29 #define WCHAR_MAX ((wchar_t)-1) /* UINT16_MAX */ 30 #endif 31 32 #ifndef WEOF 33 #define WEOF (wint_t)(0xFFFF) 34 #endif 35 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; 46 }; 47 typedef struct _iobuf FILE; 48 #define _FILE_DEFINED 49 #endif 50 51 #ifndef _STDIO_DEFINED 52 _CRTIMP FILE *__cdecl __iob_func(void); 53 _CRTDATA(extern FILE _iob[];) 54 #ifdef _M_CEE_PURE 55 #define _iob __iob_func() 56 #endif 57 #endif 58 59 #ifndef _STDSTREAM_DEFINED 60 #define _STDSTREAM_DEFINED 61 #define stdin (&_iob[0]) 62 #define stdout (&_iob[1]) 63 #define stderr (&_iob[2]) 64 #endif /* !_STDSTREAM_DEFINED */ 65 66 #ifndef _FSIZE_T_DEFINED 67 typedef unsigned long _fsize_t; 68 #define _FSIZE_T_DEFINED 69 #endif 70 71 #ifndef _WFINDDATA_T_DEFINED 72 struct _wfinddata_t { 73 unsigned attrib; 74 time_t time_create; 75 time_t time_access; 76 time_t time_write; 77 _fsize_t size; 78 wchar_t name[260]; 79 }; 80 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]; 88 }; 89 90 #if _INTEGRAL_MAX_BITS >= 64 91 struct _wfinddatai64_t { 92 unsigned attrib; 93 time_t time_create; 94 time_t time_access; 95 time_t time_write; 96 __MINGW_EXTENSION __int64 size; 97 wchar_t name[260]; 98 }; 99 100 struct _wfinddata32i64_t { 101 unsigned attrib; 102 __time32_t time_create; 103 __time32_t time_access; 104 __time32_t time_write; 105 __MINGW_EXTENSION __int64 size; 106 wchar_t name[260]; 107 }; 108 109 struct _wfinddata64i32_t { 110 unsigned attrib; 111 __time64_t time_create; 112 __time64_t time_access; 113 __time64_t time_write; 114 _fsize_t size; 115 wchar_t name[260]; 116 }; 117 118 struct _wfinddata64_t { 119 unsigned attrib; 120 __time64_t time_create; 121 __time64_t time_access; 122 __time64_t time_write; 123 __MINGW_EXTENSION __int64 size; 124 wchar_t name[260]; 125 }; 126 #endif 127 128 #define _WFINDDATA_T_DEFINED 129 #endif /* !_WFINDDATA_T_DEFINED */ 130 131 #ifndef NULL 132 #ifdef __cplusplus 133 #define NULL 0 134 #else 135 #define NULL ((void *)0) 136 #endif 137 #endif 138 139 #ifndef _CRT_CTYPEDATA_DEFINED 140 # define _CRT_CTYPEDATA_DEFINED 141 # ifndef _CTYPE_DISABLE_MACROS 142 # ifndef __PCTYPE_FUNC 143 # ifdef _DLL 144 # define __PCTYPE_FUNC __pctype_func() 145 # else 146 # define __PCTYPE_FUNC _pctype 147 # endif 148 # endif /* !__PCTYPE_FUNC */ 149 _CRTIMP const unsigned short * __cdecl __pctype_func(void); 150 # ifndef _M_CEE_PURE 151 _CRTDATA(extern unsigned short *_pctype); 152 # else 153 # define _pctype (__pctype_func()) 154 # endif /* !_M_CEE_PURE */ 155 # endif /* !_CTYPE_DISABLE_MACROS */ 156 #endif /* !_CRT_CTYPEDATA_DEFINED */ 157 158 #ifndef _CRT_WCTYPEDATA_DEFINED 159 #define _CRT_WCTYPEDATA_DEFINED 160 # ifndef _CTYPE_DISABLE_MACROS 161 _CRTDATA(extern unsigned short *_wctype); 162 _CRTIMP const wctype_t * __cdecl __pwctype_func(void); 163 # ifndef _M_CEE_PURE 164 _CRTDATA(extern const wctype_t *_pwctype); 165 # else 166 # define _pwctype (__pwctype_func()) 167 # endif /* !_M_CEE_PURE */ 168 # endif /* !_CTYPE_DISABLE_MACROS */ 169 #endif /* !_CRT_WCTYPEDATA_DEFINED */ 170 171 #define _UPPER 0x1 172 #define _LOWER 0x2 173 #define _DIGIT 0x4 174 #define _SPACE 0x8 175 176 #define _PUNCT 0x10 177 #define _CONTROL 0x20 178 #define _BLANK 0x40 179 #define _HEX 0x80 180 181 #define _LEADBYTE 0x8000 182 #define _ALPHA (0x0100|_UPPER|_LOWER) 183 184 #ifndef _WCTYPE_DEFINED 185 #define _WCTYPE_DEFINED 186 _Check_return_ _CRTIMP int __cdecl iswalpha(_In_ wint_t _C); 187 _Check_return_ _CRTIMP int __cdecl _iswalpha_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 188 _Check_return_ _CRTIMP int __cdecl iswupper(_In_ wint_t _C); 189 _Check_return_ _CRTIMP int __cdecl _iswupper_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 190 _Check_return_ _CRTIMP int __cdecl iswlower(_In_ wint_t _C); 191 _Check_return_ _CRTIMP int __cdecl _iswlower_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 192 _Check_return_ _CRTIMP int __cdecl iswdigit(_In_ wint_t _C); 193 _Check_return_ _CRTIMP int __cdecl _iswdigit_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 194 _Check_return_ _CRTIMP int __cdecl iswxdigit(_In_ wint_t _C); 195 _Check_return_ _CRTIMP int __cdecl _iswxdigit_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 196 _Check_return_ _CRTIMP int __cdecl iswspace(_In_ wint_t _C); 197 _Check_return_ _CRTIMP int __cdecl _iswspace_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 198 _Check_return_ _CRTIMP int __cdecl iswpunct(_In_ wint_t _C); 199 _Check_return_ _CRTIMP int __cdecl _iswpunct_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 200 _Check_return_ _CRTIMP int __cdecl iswalnum(_In_ wint_t _C); 201 _Check_return_ _CRTIMP int __cdecl _iswalnum_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 202 _Check_return_ _CRTIMP int __cdecl iswprint(_In_ wint_t _C); 203 _Check_return_ _CRTIMP int __cdecl _iswprint_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 204 _Check_return_ _CRTIMP int __cdecl iswgraph(_In_ wint_t _C); 205 _Check_return_ _CRTIMP int __cdecl _iswgraph_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 206 _Check_return_ _CRTIMP int __cdecl iswcntrl(_In_ wint_t _C); 207 _Check_return_ _CRTIMP int __cdecl _iswcntrl_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 208 _Check_return_ _CRTIMP int __cdecl iswascii(_In_ wint_t _C); 209 _Check_return_ _CRTIMP int __cdecl isleadbyte(_In_ int _C); 210 _Check_return_ _CRTIMP int __cdecl _isleadbyte_l(_In_ int _C, _In_opt_ _locale_t _Locale); 211 _Check_return_ _CRTIMP wint_t __cdecl towupper(_In_ wint_t _C); 212 _Check_return_ _CRTIMP wint_t __cdecl _towupper_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 213 _Check_return_ _CRTIMP wint_t __cdecl towlower(_In_ wint_t _C); 214 _Check_return_ _CRTIMP wint_t __cdecl _towlower_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 215 _Check_return_ _CRTIMP int __cdecl iswctype(_In_ wint_t _C, _In_ wctype_t _Type); 216 _Check_return_ _CRTIMP int __cdecl _iswctype_l(_In_ wint_t _C, _In_ wctype_t _Type, _In_opt_ _locale_t _Locale); 217 _Check_return_ _CRTIMP int __cdecl __iswcsymf(_In_ wint_t _C); 218 _Check_return_ _CRTIMP int __cdecl _iswcsymf_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 219 _Check_return_ _CRTIMP int __cdecl __iswcsym(_In_ wint_t _C); 220 _Check_return_ _CRTIMP int __cdecl _iswcsym_l(_In_ wint_t _C, _In_opt_ _locale_t _Locale); 221 _CRTIMP int __cdecl is_wctype(_In_ wint_t _C, _In_ wctype_t _Type); 222 223 #if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || !defined (NO_OLDNAMES) 224 _CRTIMP int __cdecl iswblank(wint_t _C); 225 #endif 226 #endif 227 228 #ifndef _WDIRECT_DEFINED 229 #define _WDIRECT_DEFINED 230 231 _Check_return_ 232 _Ret_opt_z_ 233 _CRTIMP 234 wchar_t* 235 __cdecl 236 _wgetcwd( 237 _Out_writes_opt_(_SizeInWords) wchar_t *_DstBuf, 238 _In_ int _SizeInWords); 239 240 _Check_return_ 241 _Ret_opt_z_ 242 _CRTIMP 243 wchar_t* 244 __cdecl 245 _wgetdcwd( 246 _In_ int _Drive, 247 _Out_writes_opt_(_SizeInWords) wchar_t *_DstBuf, 248 _In_ int _SizeInWords); 249 250 _Check_return_ 251 _Ret_opt_z_ 252 wchar_t* 253 __cdecl 254 _wgetdcwd_nolock( 255 _In_ int _Drive, 256 _Out_writes_opt_(_SizeInWords) wchar_t *_DstBuf, 257 _In_ int _SizeInWords); 258 259 _Check_return_ 260 _CRTIMP 261 int 262 __cdecl 263 _wchdir( 264 _In_z_ const wchar_t *_Path); 265 266 _Check_return_ 267 _CRTIMP 268 int 269 __cdecl 270 _wmkdir( 271 _In_z_ const wchar_t *_Path); 272 273 _Check_return_ 274 _CRTIMP 275 int 276 __cdecl 277 _wrmdir( 278 _In_z_ const wchar_t *_Path); 279 280 #endif /* _WDIRECT_DEFINED */ 281 282 #ifndef _WIO_DEFINED 283 #define _WIO_DEFINED 284 285 _Check_return_ 286 _CRTIMP 287 int 288 __cdecl 289 _waccess( 290 _In_z_ const wchar_t *_Filename, 291 _In_ int _AccessMode); 292 293 _Check_return_ 294 _CRTIMP 295 int 296 __cdecl 297 _wchmod( 298 _In_z_ const wchar_t *_Filename, 299 _In_ int _Mode); 300 301 _Check_return_ 302 _CRTIMP 303 int 304 __cdecl 305 _wcreat( 306 _In_z_ const wchar_t *_Filename, 307 _In_ int _PermissionMode); 308 309 _Check_return_ 310 _CRTIMP 311 intptr_t 312 __cdecl 313 _wfindfirst32( 314 _In_z_ const wchar_t *_Filename, 315 _Out_ struct _wfinddata32_t *_FindData); 316 317 _Check_return_ 318 _CRTIMP 319 int 320 __cdecl 321 _wfindnext32( 322 _In_ intptr_t _FindHandle, 323 _Out_ struct _wfinddata32_t *_FindData); 324 325 _Check_return_ 326 _CRTIMP 327 int 328 __cdecl 329 _wunlink( 330 _In_z_ const wchar_t *_Filename); 331 332 _Check_return_ 333 _CRTIMP 334 int 335 __cdecl 336 _wrename( 337 _In_z_ const wchar_t *_OldFilename, 338 _In_z_ const wchar_t *_NewFilename); 339 340 _CRTIMP 341 wchar_t* 342 __cdecl 343 _wmktemp( 344 _Inout_z_ wchar_t *_TemplateName); 345 346 #if _INTEGRAL_MAX_BITS >= 64 347 348 _Check_return_ 349 _CRTIMP 350 intptr_t 351 __cdecl 352 _wfindfirst32i64( 353 _In_z_ const wchar_t *_Filename, 354 _Out_ struct _wfinddata32i64_t *_FindData); 355 356 _Check_return_ 357 _CRTIMP 358 intptr_t 359 __cdecl 360 _wfindfirst64i32( 361 _In_z_ const wchar_t *_Filename, 362 _Out_ struct _wfinddata64i32_t *_FindData); 363 364 _Check_return_ 365 _CRTIMP 366 intptr_t 367 __cdecl 368 _wfindfirst64( 369 _In_z_ const wchar_t *_Filename, 370 _Out_ struct _wfinddata64_t *_FindData); 371 372 _Check_return_ 373 _CRTIMP 374 int 375 __cdecl 376 _wfindnext32i64( 377 _In_ intptr_t _FindHandle, 378 _Out_ struct _wfinddata32i64_t *_FindData); 379 380 _Check_return_ 381 _CRTIMP 382 int 383 __cdecl 384 _wfindnext64i32( 385 _In_ intptr_t _FindHandle, 386 _Out_ struct _wfinddata64i32_t *_FindData); 387 388 _Check_return_ 389 _CRTIMP 390 int 391 __cdecl 392 _wfindnext64( 393 _In_ intptr_t _FindHandle, 394 _Out_ struct _wfinddata64_t *_FindData); 395 396 #endif /* _INTEGRAL_MAX_BITS >= 64 */ 397 398 _Check_return_wat_ 399 _CRTIMP 400 errno_t 401 __cdecl 402 _wsopen_s( 403 _Out_ int *_FileHandle, 404 _In_z_ const wchar_t *_Filename, 405 _In_ int _OpenFlag, 406 _In_ int _ShareFlag, 407 _In_ int _PermissionFlag); 408 409 #if !defined(__cplusplus) || !(defined(_X86_) && !defined(__x86_64)) 410 _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,...); 411 _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,...); 412 #else 413 extern "C++" _CRTIMP int __cdecl _wopen(const wchar_t *_Filename,int _OpenFlag,int _PermissionMode = 0); 414 extern "C++" _CRTIMP int __cdecl _wsopen(const wchar_t *_Filename,int _OpenFlag,int _ShareFlag,int _PermissionMode = 0); 415 #endif 416 417 #endif /* !_WIO_DEFINED */ 418 419 #ifndef _WLOCALE_DEFINED 420 #define _WLOCALE_DEFINED 421 _Check_return_opt_ 422 _CRTIMP 423 wchar_t* 424 __cdecl 425 _wsetlocale( 426 _In_ int _Category, 427 _In_opt_z_ const wchar_t *_Locale); 428 #endif 429 430 #ifndef _WPROCESS_DEFINED 431 #define _WPROCESS_DEFINED 432 433 _CRTIMP 434 intptr_t 435 __cdecl 436 _wexecl( 437 _In_z_ const wchar_t *_Filename, 438 _In_z_ const wchar_t *_ArgList, 439 ...); 440 441 _CRTIMP 442 intptr_t 443 __cdecl 444 _wexecle( 445 _In_z_ const wchar_t *_Filename, 446 _In_z_ const wchar_t *_ArgList, 447 ...); 448 449 _CRTIMP 450 intptr_t 451 __cdecl 452 _wexeclp( 453 _In_z_ const wchar_t *_Filename, 454 _In_z_ const wchar_t *_ArgList, 455 ...); 456 457 _CRTIMP 458 intptr_t 459 __cdecl 460 _wexeclpe( 461 _In_z_ const wchar_t *_Filename, 462 _In_z_ const wchar_t *_ArgList, 463 ...); 464 465 _CRTIMP 466 intptr_t 467 __cdecl 468 _wexecv( 469 _In_z_ const wchar_t *_Filename, 470 _In_z_ const wchar_t *const *_ArgList); 471 472 _CRTIMP 473 intptr_t 474 __cdecl 475 _wexecve( 476 _In_z_ const wchar_t *_Filename, 477 _In_z_ const wchar_t *const *_ArgList, 478 _In_opt_z_ const wchar_t *const *_Env); 479 480 _CRTIMP 481 intptr_t 482 __cdecl 483 _wexecvp( 484 _In_z_ const wchar_t *_Filename, 485 _In_z_ const wchar_t *const *_ArgList); 486 487 _CRTIMP 488 intptr_t 489 __cdecl 490 _wexecvpe( 491 _In_z_ const wchar_t *_Filename, 492 _In_z_ const wchar_t *const *_ArgList, 493 _In_opt_z_ const wchar_t *const *_Env); 494 495 _CRTIMP 496 intptr_t 497 __cdecl 498 _wspawnl( 499 _In_ int _Mode, 500 _In_z_ const wchar_t *_Filename, 501 _In_z_ const wchar_t *_ArgList, 502 ...); 503 504 _CRTIMP 505 intptr_t 506 __cdecl 507 _wspawnle( 508 _In_ int _Mode, 509 _In_z_ const wchar_t *_Filename, 510 _In_z_ const wchar_t *_ArgList, 511 ...); 512 513 _CRTIMP 514 intptr_t 515 __cdecl 516 _wspawnlp( 517 _In_ int _Mode, 518 _In_z_ const wchar_t *_Filename, 519 _In_z_ const wchar_t *_ArgList, 520 ...); 521 522 _CRTIMP 523 intptr_t 524 __cdecl 525 _wspawnlpe( 526 _In_ int _Mode, 527 _In_z_ const wchar_t *_Filename, 528 _In_z_ const wchar_t *_ArgList, 529 ...); 530 531 _CRTIMP 532 intptr_t 533 __cdecl 534 _wspawnv( 535 _In_ int _Mode, 536 _In_z_ const wchar_t *_Filename, 537 _In_z_ const wchar_t *const *_ArgList); 538 539 _CRTIMP 540 intptr_t 541 __cdecl 542 _wspawnve( 543 _In_ int _Mode, 544 _In_z_ const wchar_t *_Filename, 545 _In_z_ const wchar_t *const *_ArgList, 546 _In_opt_z_ const wchar_t *const *_Env); 547 548 _CRTIMP 549 intptr_t 550 __cdecl 551 _wspawnvp( 552 _In_ int _Mode, 553 _In_z_ const wchar_t *_Filename, 554 _In_z_ const wchar_t *const *_ArgList); 555 556 _CRTIMP 557 intptr_t 558 __cdecl 559 _wspawnvpe( 560 _In_ int _Mode, 561 _In_z_ const wchar_t *_Filename, 562 _In_z_ const wchar_t *const *_ArgList, 563 _In_opt_z_ const wchar_t *const *_Env); 564 565 #ifndef _CRT_WSYSTEM_DEFINED 566 #define _CRT_WSYSTEM_DEFINED 567 _CRTIMP 568 int 569 __cdecl 570 _wsystem( 571 _In_opt_z_ const wchar_t *_Command); 572 #endif /* !_CRT_WSYSTEM_DEFINED */ 573 574 #endif /* !_WPROCESS_DEFINED */ 575 576 #ifndef _WCTYPE_INLINE_DEFINED 577 #undef _CRT_WCTYPE_NOINLINE 578 #if !defined(__cplusplus) || defined(_CRT_WCTYPE_NOINLINE) 579 #define iswalpha(_c) (iswctype(_c,_ALPHA)) 580 #define iswupper(_c) (iswctype(_c,_UPPER)) 581 #define iswlower(_c) (iswctype(_c,_LOWER)) 582 #define iswdigit(_c) (iswctype(_c,_DIGIT)) 583 #define iswxdigit(_c) (iswctype(_c,_HEX)) 584 #define iswspace(_c) (iswctype(_c,_SPACE)) 585 #define iswpunct(_c) (iswctype(_c,_PUNCT)) 586 #define iswalnum(_c) (iswctype(_c,_ALPHA|_DIGIT)) 587 #define iswprint(_c) (iswctype(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT)) 588 #define iswgraph(_c) (iswctype(_c,_PUNCT|_ALPHA|_DIGIT)) 589 #define iswcntrl(_c) (iswctype(_c,_CONTROL)) 590 #define iswascii(_c) ((unsigned)(_c) < 0x80) 591 592 #define _iswalpha_l(_c,_p) (_iswctype_l(_c,_ALPHA,_p)) 593 #define _iswupper_l(_c,_p) (_iswctype_l(_c,_UPPER,_p)) 594 #define _iswlower_l(_c,_p) (_iswctype_l(_c,_LOWER,_p)) 595 #define _iswdigit_l(_c,_p) (_iswctype_l(_c,_DIGIT,_p)) 596 #define _iswxdigit_l(_c,_p) (_iswctype_l(_c,_HEX,_p)) 597 #define _iswspace_l(_c,_p) (_iswctype_l(_c,_SPACE,_p)) 598 #define _iswpunct_l(_c,_p) (_iswctype_l(_c,_PUNCT,_p)) 599 #define _iswalnum_l(_c,_p) (_iswctype_l(_c,_ALPHA|_DIGIT,_p)) 600 #define _iswprint_l(_c,_p) (_iswctype_l(_c,_BLANK|_PUNCT|_ALPHA|_DIGIT,_p)) 601 #define _iswgraph_l(_c,_p) (_iswctype_l(_c,_PUNCT|_ALPHA|_DIGIT,_p)) 602 #define _iswcntrl_l(_c,_p) (_iswctype_l(_c,_CONTROL,_p)) 603 #ifndef _CTYPE_DISABLE_MACROS 604 #define isleadbyte(_c) (__PCTYPE_FUNC[(unsigned char)(_c)] & _LEADBYTE) 605 #endif 606 #endif 607 #define _WCTYPE_INLINE_DEFINED 608 #endif 609 610 #if !defined(_POSIX_) || defined(__GNUC__) 611 #ifndef _INO_T_DEFINED 612 #define _INO_T_DEFINED 613 typedef unsigned short _ino_t; 614 #ifndef NO_OLDNAMES 615 typedef unsigned short ino_t; 616 #endif 617 #endif 618 619 #ifndef _DEV_T_DEFINED 620 #define _DEV_T_DEFINED 621 typedef unsigned int _dev_t; 622 #ifndef NO_OLDNAMES 623 typedef unsigned int dev_t; 624 #endif 625 #endif 626 627 #ifndef _OFF_T_DEFINED 628 #define _OFF_T_DEFINED 629 typedef long _off_t; 630 #ifndef NO_OLDNAMES 631 typedef long off_t; 632 #endif 633 #endif 634 635 #ifndef _OFF64_T_DEFINED 636 #define _OFF64_T_DEFINED 637 __MINGW_EXTENSION typedef long long _off64_t; 638 #ifndef NO_OLDNAMES 639 __MINGW_EXTENSION typedef long long off64_t; 640 #endif 641 #endif 642 643 #ifndef _STAT_DEFINED 644 #define _STAT_DEFINED 645 646 struct _stat32 { 647 _dev_t st_dev; 648 _ino_t st_ino; 649 unsigned short st_mode; 650 short st_nlink; 651 short st_uid; 652 short st_gid; 653 _dev_t st_rdev; 654 _off_t st_size; 655 __time32_t st_atime; 656 __time32_t st_mtime; 657 __time32_t st_ctime; 658 }; 659 660 struct _stat { 661 _dev_t st_dev; 662 _ino_t st_ino; 663 unsigned short st_mode; 664 short st_nlink; 665 short st_uid; 666 short st_gid; 667 _dev_t st_rdev; 668 _off_t st_size; 669 time_t st_atime; 670 time_t st_mtime; 671 time_t st_ctime; 672 }; 673 674 #ifndef NO_OLDNAMES 675 struct stat { 676 _dev_t st_dev; 677 _ino_t st_ino; 678 unsigned short st_mode; 679 short st_nlink; 680 short st_uid; 681 short st_gid; 682 _dev_t st_rdev; 683 _off_t st_size; 684 time_t st_atime; 685 time_t st_mtime; 686 time_t st_ctime; 687 }; 688 #endif 689 690 #if _INTEGRAL_MAX_BITS >= 64 691 692 struct _stat32i64 { 693 _dev_t st_dev; 694 _ino_t st_ino; 695 unsigned short st_mode; 696 short st_nlink; 697 short st_uid; 698 short st_gid; 699 _dev_t st_rdev; 700 __MINGW_EXTENSION __int64 st_size; 701 __time32_t st_atime; 702 __time32_t st_mtime; 703 __time32_t st_ctime; 704 }; 705 706 struct _stat64i32 { 707 _dev_t st_dev; 708 _ino_t st_ino; 709 unsigned short st_mode; 710 short st_nlink; 711 short st_uid; 712 short st_gid; 713 _dev_t st_rdev; 714 _off_t st_size; 715 __time64_t st_atime; 716 __time64_t st_mtime; 717 __time64_t st_ctime; 718 }; 719 720 struct _stat64 { 721 _dev_t st_dev; 722 _ino_t st_ino; 723 unsigned short st_mode; 724 short st_nlink; 725 short st_uid; 726 short st_gid; 727 _dev_t st_rdev; 728 __MINGW_EXTENSION __int64 st_size; 729 __time64_t st_atime; 730 __time64_t st_mtime; 731 __time64_t st_ctime; 732 }; 733 #endif 734 735 #define __stat64 _stat64 736 737 #endif 738 739 #ifndef _WSTAT_DEFINED 740 #define _WSTAT_DEFINED 741 742 _CRTIMP 743 int 744 __cdecl 745 _wstat( 746 _In_z_ const wchar_t *_Name, 747 _Out_ struct _stat *_Stat); 748 749 _CRTIMP 750 int 751 __cdecl 752 _wstat32( 753 _In_z_ const wchar_t *_Name, 754 _Out_ struct _stat32 *_Stat); 755 756 #if _INTEGRAL_MAX_BITS >= 64 757 758 _CRTIMP 759 int 760 __cdecl 761 _wstat32i64( 762 _In_z_ const wchar_t *_Name, 763 _Out_ struct _stat32i64 *_Stat); 764 765 _CRTIMP 766 int 767 __cdecl 768 _wstat64i32( 769 _In_z_ const wchar_t *_Name, 770 _Out_ struct _stat64i32 *_Stat); 771 772 _CRTIMP 773 int 774 __cdecl 775 _wstat64( 776 _In_z_ const wchar_t *_Name, 777 _Out_ struct _stat64 *_Stat); 778 779 #endif /* _INTEGRAL_MAX_BITS >= 64 */ 780 781 #endif /* _WSTAT_DEFINED */ 782 783 #endif /* !defined(_POSIX_) || defined(__GNUC__) */ 784 785 #ifndef _WCONIO_DEFINED 786 #define _WCONIO_DEFINED 787 788 _CRTIMP 789 wchar_t* 790 _cgetws( 791 _Inout_z_ wchar_t *_Buffer); 792 793 _Check_return_ 794 _CRTIMP 795 wint_t 796 __cdecl 797 _getwch(void); 798 799 _Check_return_ 800 _CRTIMP 801 wint_t 802 __cdecl 803 _getwche(void); 804 805 _Check_return_ 806 _CRTIMP 807 wint_t 808 __cdecl 809 _putwch( 810 wchar_t _WCh); 811 812 _Check_return_ 813 _CRTIMP 814 wint_t 815 __cdecl 816 _ungetwch( 817 wint_t _WCh); 818 819 _Check_return_opt_ 820 _CRTIMP 821 int 822 __cdecl 823 _cputws( 824 _In_z_ const wchar_t *_String); 825 826 _Check_return_opt_ 827 _CRTIMP 828 int 829 __cdecl 830 _cwprintf( 831 _In_z_ _Printf_format_string_ const wchar_t *_Format, 832 ...); 833 834 _Check_return_opt_ 835 _CRTIMP 836 int 837 __cdecl 838 _cwscanf( 839 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 840 ...); 841 842 _Check_return_opt_ 843 _CRTIMP 844 int 845 __cdecl 846 _cwscanf_l( 847 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 848 _In_opt_ _locale_t _Locale, 849 ...); 850 851 _Check_return_opt_ 852 _CRTIMP 853 int 854 __cdecl 855 _vcwprintf( 856 _In_z_ _Printf_format_string_ const wchar_t *_Format, 857 va_list _ArgList); 858 859 _Check_return_opt_ 860 _CRTIMP 861 int 862 __cdecl 863 _cwprintf_p( 864 _In_z_ _Printf_format_string_ const wchar_t *_Format, 865 ...); 866 867 _Check_return_opt_ 868 _CRTIMP 869 int 870 __cdecl 871 _vcwprintf_p( 872 _In_z_ _Printf_format_string_ const wchar_t *_Format, 873 va_list _ArgList); 874 875 _CRTIMP 876 int 877 __cdecl 878 _cwprintf_l( 879 _In_z_ _Printf_format_string_ const wchar_t *_Format, 880 _In_opt_ _locale_t _Locale, 881 ...); 882 883 _CRTIMP 884 int 885 __cdecl 886 _vcwprintf_l( 887 _In_z_ _Printf_format_string_ const wchar_t *_Format, 888 _In_opt_ _locale_t _Locale, 889 va_list _ArgList); 890 891 _CRTIMP 892 int 893 __cdecl 894 _cwprintf_p_l( 895 _In_z_ _Printf_format_string_ const wchar_t *_Format, 896 _In_opt_ _locale_t _Locale, 897 ...); 898 899 _CRTIMP 900 int 901 __cdecl 902 _vcwprintf_p_l( 903 _In_z_ _Printf_format_string_ const wchar_t *_Format, 904 _In_opt_ _locale_t _Locale, 905 va_list _ArgList); 906 907 _Check_return_opt_ 908 wint_t 909 __cdecl 910 _putwch_nolock( 911 wchar_t _WCh); 912 913 _Check_return_ 914 wint_t 915 __cdecl 916 _getwch_nolock(void); 917 918 _Check_return_ 919 wint_t 920 __cdecl 921 _getwche_nolock(void); 922 923 _Check_return_opt_ 924 wint_t 925 __cdecl 926 _ungetwch_nolock( 927 wint_t _WCh); 928 929 #endif /* _WCONIO_DEFINED */ 930 931 #ifndef _WSTDIO_DEFINED 932 #define _WSTDIO_DEFINED 933 934 #ifdef _POSIX_ 935 _CRTIMP FILE *__cdecl _wfsopen(const wchar_t *_Filename,const wchar_t *_Mode); 936 #else 937 _Check_return_ 938 _CRTIMP 939 FILE* 940 __cdecl 941 _wfsopen( 942 _In_z_ const wchar_t *_Filename, 943 _In_z_ const wchar_t *_Mode, 944 _In_ int _ShFlag); 945 #endif 946 947 _Check_return_opt_ 948 _CRTIMP_ALT 949 wint_t 950 __cdecl 951 fgetwc( 952 _Inout_ FILE *_File); 953 954 _Check_return_opt_ 955 _CRTIMP 956 wint_t 957 __cdecl 958 _fgetwchar(void); 959 960 _Check_return_opt_ 961 _CRTIMP 962 wint_t 963 __cdecl 964 fputwc( 965 _In_ wchar_t _Ch, 966 _Inout_ FILE *_File); 967 968 _Check_return_opt_ 969 _CRTIMP 970 wint_t 971 __cdecl 972 _fputwchar( 973 _In_ wchar_t _Ch); 974 975 _Check_return_ 976 _CRTIMP 977 wint_t 978 __cdecl 979 getwc( 980 _Inout_ FILE *_File); 981 982 _Check_return_ 983 _CRTIMP 984 wint_t 985 __cdecl 986 getwchar(void); 987 988 _Check_return_opt_ 989 _CRTIMP 990 wint_t 991 __cdecl 992 putwc( 993 _In_ wchar_t _Ch, 994 _Inout_ FILE *_File); 995 996 _Check_return_opt_ 997 _CRTIMP 998 wint_t 999 __cdecl 1000 putwchar( 1001 _In_ wchar_t _Ch); 1002 1003 _Check_return_opt_ 1004 _CRTIMP_ALT 1005 wint_t 1006 __cdecl 1007 ungetwc( 1008 _In_ wint_t _Ch, 1009 _Inout_ FILE *_File); 1010 1011 _Check_return_opt_ 1012 _CRTIMP 1013 wchar_t* 1014 __cdecl 1015 fgetws( 1016 _Out_writes_z_(_SizeInWords) wchar_t *_Dst, 1017 _In_ int _SizeInWords, 1018 _Inout_ FILE *_File); 1019 1020 _Check_return_opt_ 1021 _CRTIMP 1022 int 1023 __cdecl 1024 fputws( 1025 _In_z_ const wchar_t *_Str, 1026 _Inout_ FILE *_File); 1027 1028 _CRTIMP 1029 wchar_t* 1030 __cdecl 1031 _getws( 1032 _Pre_notnull_ _Post_z_ wchar_t *_String); 1033 1034 _Check_return_opt_ 1035 _CRTIMP 1036 int 1037 __cdecl 1038 _putws( 1039 _In_z_ const wchar_t *_Str); 1040 1041 _Check_return_opt_ 1042 _CRTIMP 1043 int 1044 __cdecl 1045 fwprintf( 1046 _Inout_ FILE *_File, 1047 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1048 ...); 1049 1050 _Check_return_opt_ 1051 _CRTIMP 1052 int 1053 __cdecl 1054 wprintf( 1055 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1056 ...); 1057 1058 _Check_return_ 1059 _CRTIMP 1060 int 1061 __cdecl 1062 _scwprintf( 1063 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1064 ...); 1065 1066 _Check_return_opt_ 1067 _CRTIMP 1068 int 1069 __cdecl 1070 vfwprintf( 1071 _Inout_ FILE *_File, 1072 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1073 va_list _ArgList); 1074 1075 _Check_return_opt_ 1076 _CRTIMP 1077 int 1078 __cdecl 1079 vwprintf( 1080 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1081 va_list _ArgList); 1082 1083 _CRTIMP 1084 int 1085 __cdecl 1086 swprintf( 1087 _Out_ wchar_t*, 1088 const wchar_t*, 1089 ...); 1090 1091 _CRTIMP 1092 int 1093 __cdecl 1094 vswprintf( 1095 _Out_ wchar_t*, 1096 const wchar_t*, 1097 va_list); 1098 1099 _Check_return_opt_ 1100 _CRTIMP 1101 int 1102 __cdecl 1103 _swprintf_c( 1104 _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, 1105 _In_ size_t _SizeInWords, 1106 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1107 ...); 1108 1109 _Check_return_opt_ 1110 _CRTIMP 1111 int 1112 __cdecl 1113 _vswprintf_c( 1114 _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, 1115 _In_ size_t _SizeInWords, 1116 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1117 va_list _ArgList); 1118 1119 _CRTIMP int __cdecl _snwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,...); 1120 _CRTIMP int __cdecl _vsnwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,va_list _Args); 1121 1122 #ifndef __NO_ISOCEXT /* externs in libmingwex.a */ 1123 _CRTIMP int __cdecl snwprintf (wchar_t *s, size_t n, const wchar_t * format, ...); 1124 __CRT_INLINE int __cdecl vsnwprintf (wchar_t *s, size_t n, const wchar_t *format, va_list arg) { return _vsnwprintf(s,n,format,arg); } 1125 _CRTIMP int __cdecl vwscanf (const wchar_t *, va_list); 1126 _CRTIMP int __cdecl vfwscanf (FILE *,const wchar_t *,va_list); 1127 _CRTIMP int __cdecl vswscanf (const wchar_t *,const wchar_t *,va_list); 1128 #endif 1129 1130 _Check_return_opt_ 1131 _CRTIMP 1132 int 1133 __cdecl 1134 _fwprintf_p( 1135 _Inout_ FILE *_File, 1136 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1137 ...); 1138 1139 _Check_return_opt_ 1140 _CRTIMP 1141 int 1142 __cdecl 1143 _wprintf_p( 1144 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1145 ...); 1146 1147 _Check_return_opt_ 1148 _CRTIMP 1149 int 1150 __cdecl 1151 _vfwprintf_p( 1152 _Inout_ FILE *_File, 1153 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1154 va_list _ArgList); 1155 1156 _Check_return_opt_ 1157 _CRTIMP 1158 int 1159 __cdecl 1160 _vwprintf_p( 1161 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1162 va_list _ArgList); 1163 1164 _Check_return_opt_ 1165 _CRTIMP 1166 int 1167 __cdecl 1168 _swprintf_p( 1169 _Out_writes_z_(_MaxCount) wchar_t *_DstBuf, 1170 _In_ size_t _MaxCount, 1171 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1172 ...); 1173 1174 _Check_return_opt_ 1175 _CRTIMP 1176 int 1177 __cdecl 1178 _vswprintf_p( 1179 _Out_writes_z_(_MaxCount) wchar_t *_DstBuf, 1180 _In_ size_t _MaxCount, 1181 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1182 va_list _ArgList); 1183 1184 _Check_return_ 1185 _CRTIMP 1186 int 1187 __cdecl 1188 _scwprintf_p( 1189 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1190 ...); 1191 1192 _Check_return_ 1193 _CRTIMP 1194 int 1195 __cdecl 1196 _vscwprintf_p( 1197 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1198 va_list _ArgList); 1199 1200 _Check_return_opt_ 1201 _CRTIMP 1202 int 1203 __cdecl 1204 _wprintf_l( 1205 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1206 _In_opt_ _locale_t _Locale, 1207 ...); 1208 1209 _Check_return_opt_ 1210 _CRTIMP 1211 int 1212 __cdecl 1213 _wprintf_p_l( 1214 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1215 _In_opt_ _locale_t _Locale, 1216 ...); 1217 1218 _Check_return_opt_ 1219 _CRTIMP 1220 int 1221 __cdecl 1222 _vwprintf_l( 1223 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1224 _In_opt_ _locale_t _Locale, 1225 va_list _ArgList); 1226 1227 _Check_return_opt_ 1228 _CRTIMP 1229 int 1230 __cdecl 1231 _vwprintf_p_l( 1232 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1233 _In_opt_ _locale_t _Locale, 1234 va_list _ArgList); 1235 1236 _Check_return_opt_ 1237 _CRTIMP 1238 int 1239 __cdecl 1240 _fwprintf_l( 1241 _Inout_ FILE *_File, 1242 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1243 _In_opt_ _locale_t _Locale, 1244 ...); 1245 1246 _Check_return_opt_ 1247 _CRTIMP 1248 int 1249 __cdecl 1250 _fwprintf_p_l( 1251 _Inout_ FILE *_File, 1252 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1253 _In_opt_ _locale_t _Locale, 1254 ...); 1255 1256 _Check_return_opt_ 1257 _CRTIMP 1258 int 1259 __cdecl 1260 _vfwprintf_l( 1261 _Inout_ FILE *_File, 1262 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1263 _In_opt_ _locale_t _Locale, 1264 va_list _ArgList); 1265 1266 _Check_return_opt_ 1267 _CRTIMP 1268 int 1269 __cdecl 1270 _vfwprintf_p_l( 1271 _Inout_ FILE *_File, 1272 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1273 _In_opt_ _locale_t _Locale, 1274 va_list _ArgList); 1275 1276 _Check_return_opt_ 1277 _CRTIMP 1278 int 1279 __cdecl 1280 _swprintf_c_l( 1281 _Out_writes_z_(_MaxCount) wchar_t *_DstBuf, 1282 _In_ size_t _MaxCount, 1283 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1284 _In_opt_ _locale_t _Locale, 1285 ...); 1286 1287 _Check_return_opt_ 1288 _CRTIMP 1289 int 1290 __cdecl 1291 _swprintf_p_l( 1292 _Out_writes_z_(_MaxCount) wchar_t *_DstBuf, 1293 _In_ size_t _MaxCount, 1294 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1295 _In_opt_ _locale_t _Locale, 1296 ...); 1297 1298 _Check_return_opt_ 1299 _CRTIMP 1300 int 1301 __cdecl 1302 _vswprintf_c_l( 1303 _Out_writes_z_(_MaxCount) wchar_t *_DstBuf, 1304 _In_ size_t _MaxCount, 1305 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1306 _In_opt_ _locale_t _Locale, 1307 va_list _ArgList); 1308 1309 _Check_return_opt_ 1310 _CRTIMP 1311 int 1312 __cdecl 1313 _vswprintf_p_l( 1314 _Out_writes_z_(_MaxCount) wchar_t *_DstBuf, 1315 _In_ size_t _MaxCount, 1316 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1317 _In_opt_ _locale_t _Locale, 1318 va_list _ArgList); 1319 1320 _Check_return_ 1321 _CRTIMP 1322 int 1323 __cdecl 1324 _scwprintf_l( 1325 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1326 _In_opt_ _locale_t _Locale, 1327 ...); 1328 1329 _Check_return_ 1330 _CRTIMP 1331 int 1332 __cdecl 1333 _scwprintf_p_l( 1334 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1335 _In_opt_ _locale_t _Locale, 1336 ...); 1337 1338 _Check_return_ 1339 _CRTIMP 1340 int 1341 __cdecl 1342 _vscwprintf_p_l( 1343 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1344 _In_opt_ _locale_t _Locale, 1345 va_list _ArgList); 1346 1347 _Check_return_opt_ 1348 _CRTIMP 1349 int 1350 __cdecl 1351 _snwprintf_l( 1352 _Out_writes_(_MaxCount) wchar_t *_DstBuf, 1353 _In_ size_t _MaxCount, 1354 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1355 _In_opt_ _locale_t _Locale, 1356 ...); 1357 1358 _Check_return_opt_ 1359 _CRTIMP 1360 int 1361 __cdecl 1362 _vsnwprintf_l( 1363 _Out_writes_(_MaxCount) wchar_t *_DstBuf, 1364 _In_ size_t _MaxCount, 1365 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1366 _In_opt_ _locale_t _Locale, 1367 va_list _ArgList); 1368 1369 _CRTIMP 1370 int 1371 __cdecl 1372 _swprintf( 1373 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 1374 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1375 ...); 1376 1377 _CRTIMP 1378 int 1379 __cdecl 1380 _vswprintf( 1381 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 1382 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1383 va_list _Args); 1384 1385 1386 _CRTIMP int __cdecl __swprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,...); 1387 _CRTIMP int __cdecl __vswprintf_l(wchar_t *_Dest,const wchar_t *_Format,_locale_t _Plocinfo,va_list _Args); 1388 1389 #if 0 //this is for MSVCRT80 and higher, which we don't use nor implement 1390 #ifdef _CRT_NON_CONFORMING_SWPRINTFS 1391 #ifndef __cplusplus 1392 #define swprintf _swprintf 1393 #define vswprintf _vswprintf 1394 #define _swprintf_l __swprintf_l 1395 #define _vswprintf_l __vswprintf_l 1396 #endif 1397 #endif 1398 #endif 1399 1400 _Check_return_ 1401 _CRTIMP 1402 wchar_t* 1403 __cdecl 1404 _wtempnam( 1405 _In_opt_z_ const wchar_t *_Directory, 1406 _In_opt_z_ const wchar_t *_FilePrefix); 1407 1408 _Check_return_ 1409 _CRTIMP 1410 int 1411 __cdecl 1412 _vscwprintf( 1413 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1414 va_list _ArgList); 1415 1416 _Check_return_ 1417 _CRTIMP 1418 int 1419 __cdecl 1420 _vscwprintf_l( 1421 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1422 _In_opt_ _locale_t _Locale, 1423 va_list _ArgList); 1424 1425 _Check_return_ 1426 int 1427 __cdecl 1428 fwscanf( 1429 _Inout_ FILE *_File, 1430 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1431 ...); 1432 1433 _Check_return_opt_ 1434 _CRTIMP 1435 int 1436 __cdecl 1437 _fwscanf_l( 1438 _Inout_ FILE *_File, 1439 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1440 _In_opt_ _locale_t _Locale, 1441 ...); 1442 1443 _Check_return_ 1444 int 1445 __cdecl 1446 swscanf( 1447 _In_z_ const wchar_t *_Src, 1448 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1449 ...); 1450 1451 _Check_return_opt_ 1452 _CRTIMP 1453 int 1454 __cdecl 1455 _swscanf_l( 1456 _In_z_ const wchar_t *_Src, 1457 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1458 _In_opt_ _locale_t _Locale, 1459 ...); 1460 1461 _Check_return_opt_ 1462 _CRTIMP 1463 int 1464 __cdecl 1465 _snwscanf( 1466 _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src, 1467 _In_ size_t _MaxCount, 1468 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1469 ...); 1470 1471 _Check_return_opt_ 1472 _CRTIMP 1473 int 1474 __cdecl 1475 _snwscanf_l( 1476 _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src, 1477 _In_ size_t _MaxCount, 1478 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1479 _In_opt_ _locale_t _Locale, 1480 ...); 1481 1482 _Check_return_ 1483 int 1484 __cdecl 1485 wscanf( 1486 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1487 ...); 1488 1489 _Check_return_opt_ 1490 _CRTIMP 1491 int 1492 __cdecl 1493 _wscanf_l( 1494 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1495 _In_opt_ _locale_t _Locale, 1496 ...); 1497 1498 _Check_return_ 1499 _CRTIMP 1500 FILE* 1501 __cdecl 1502 _wfdopen( 1503 _In_ int _FileHandle, 1504 _In_z_ const wchar_t *_Mode); 1505 1506 _Check_return_ 1507 _CRTIMP 1508 FILE* 1509 __cdecl 1510 _wfopen( 1511 _In_z_ const wchar_t *_Filename, 1512 _In_z_ const wchar_t *_Mode); 1513 1514 _Check_return_ 1515 _CRTIMP 1516 FILE* 1517 __cdecl 1518 _wfreopen( 1519 _In_z_ const wchar_t *_Filename, 1520 _In_z_ const wchar_t *_Mode, 1521 _Inout_ FILE *_OldFile); 1522 1523 #ifndef _CRT_WPERROR_DEFINED 1524 #define _CRT_WPERROR_DEFINED 1525 _CRTIMP 1526 void 1527 __cdecl 1528 _wperror( 1529 _In_opt_z_ const wchar_t *_ErrMsg); 1530 #endif 1531 1532 _Check_return_ 1533 _CRTIMP 1534 FILE* 1535 __cdecl 1536 _wpopen( 1537 _In_z_ const wchar_t *_Command, 1538 _In_z_ const wchar_t *_Mode); 1539 1540 #if !defined(NO_OLDNAMES) && !defined(wpopen) 1541 #define wpopen _wpopen 1542 #endif 1543 1544 _Check_return_ 1545 _CRTIMP 1546 int 1547 __cdecl 1548 _wremove( 1549 _In_z_ const wchar_t *_Filename); 1550 1551 _CRTIMP 1552 wchar_t* 1553 __cdecl 1554 _wtmpnam( 1555 _Pre_maybenull_ _Post_z_ wchar_t *_Buffer); 1556 1557 _Check_return_opt_ 1558 _CRTIMP 1559 wint_t 1560 __cdecl 1561 _fgetwc_nolock( 1562 _Inout_ FILE *_File); 1563 1564 _Check_return_opt_ 1565 _CRTIMP 1566 wint_t 1567 __cdecl 1568 _fputwc_nolock( 1569 _In_ wchar_t _Ch, 1570 _Inout_ FILE *_File); 1571 1572 _Check_return_opt_ 1573 _CRTIMP 1574 wint_t 1575 __cdecl 1576 _ungetwc_nolock( 1577 _In_ wint_t _Ch, 1578 _Inout_ FILE *_File); 1579 1580 #undef _CRT_GETPUTWCHAR_NOINLINE 1581 1582 #if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE) 1583 #define getwchar() fgetwc(stdin) 1584 #define putwchar(_c) fputwc((_c),stdout) 1585 #else 1586 _Check_return_ __CRT_INLINE wint_t __cdecl getwchar() {return (fgetwc(stdin)); } 1587 _Check_return_opt_ __CRT_INLINE wint_t __cdecl putwchar(_In_ wchar_t _C) {return (fputwc(_C,stdout)); } 1588 #endif 1589 1590 #define getwc(_stm) fgetwc(_stm) 1591 #define putwc(_c,_stm) fputwc(_c,_stm) 1592 #define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm) 1593 #define _getwc_nolock(_c) _fgetwc_nolock(_c) 1594 1595 #endif /* _WSTDIO_DEFINED */ 1596 1597 #ifndef _WSTDLIB_DEFINED 1598 #define _WSTDLIB_DEFINED 1599 1600 _CRTIMP 1601 wchar_t* 1602 __cdecl 1603 _itow( 1604 _In_ int _Value, 1605 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 1606 _In_ int _Radix); 1607 1608 _CRTIMP 1609 wchar_t* 1610 __cdecl 1611 _ltow( 1612 _In_ long _Value, 1613 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 1614 _In_ int _Radix); 1615 1616 _CRTIMP 1617 wchar_t* 1618 __cdecl 1619 _ultow( 1620 _In_ unsigned long _Value, 1621 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 1622 _In_ int _Radix); 1623 1624 _Check_return_ 1625 double 1626 __cdecl 1627 wcstod( 1628 _In_z_ const wchar_t *_Str, 1629 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr); 1630 1631 _Check_return_ 1632 _CRTIMP 1633 double 1634 __cdecl 1635 _wcstod_l( 1636 _In_z_ const wchar_t *_Str, 1637 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1638 _In_opt_ _locale_t _Locale); 1639 1640 float __cdecl wcstof( const wchar_t *nptr, wchar_t **endptr); 1641 1642 #if !defined __NO_ISOCEXT /* in libmingwex.a */ 1643 float __cdecl wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__); 1644 long double __cdecl wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); 1645 #endif /* __NO_ISOCEXT */ 1646 1647 _Check_return_ 1648 long 1649 __cdecl 1650 wcstol( 1651 _In_z_ const wchar_t *_Str, 1652 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1653 _In_ int _Radix); 1654 1655 _Check_return_ 1656 _CRTIMP 1657 long 1658 __cdecl 1659 _wcstol_l( 1660 _In_z_ const wchar_t *_Str, 1661 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1662 _In_ int _Radix, 1663 _In_opt_ _locale_t _Locale); 1664 1665 _Check_return_ 1666 unsigned long 1667 __cdecl 1668 wcstoul( 1669 _In_z_ const wchar_t *_Str, 1670 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1671 _In_ int _Radix); 1672 1673 _Check_return_ 1674 _CRTIMP 1675 unsigned long 1676 __cdecl 1677 _wcstoul_l( 1678 _In_z_ const wchar_t *_Str, 1679 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1680 _In_ int _Radix, 1681 _In_opt_ _locale_t _Locale); 1682 1683 _Check_return_ 1684 _CRTIMP 1685 wchar_t* 1686 __cdecl 1687 _wgetenv( 1688 _In_z_ const wchar_t *_VarName); 1689 1690 #ifndef _CRT_WSYSTEM_DEFINED 1691 #define _CRT_WSYSTEM_DEFINED 1692 _CRTIMP 1693 int 1694 __cdecl 1695 _wsystem( 1696 _In_opt_z_ const wchar_t *_Command); 1697 #endif 1698 1699 _Check_return_ 1700 _CRTIMP 1701 double 1702 __cdecl 1703 _wtof( 1704 _In_z_ const wchar_t *_Str); 1705 1706 _Check_return_ 1707 _CRTIMP 1708 double 1709 __cdecl 1710 _wtof_l( 1711 _In_z_ const wchar_t *_Str, 1712 _In_opt_ _locale_t _Locale); 1713 1714 _Check_return_ 1715 _CRTIMP 1716 int 1717 __cdecl 1718 _wtoi( 1719 _In_z_ const wchar_t *_Str); 1720 1721 _Check_return_ 1722 _CRTIMP 1723 int 1724 __cdecl 1725 _wtoi_l( 1726 _In_z_ const wchar_t *_Str, 1727 _In_opt_ _locale_t _Locale); 1728 1729 _Check_return_ 1730 _CRTIMP 1731 long 1732 __cdecl 1733 _wtol( 1734 _In_z_ const wchar_t *_Str); 1735 1736 _Check_return_ 1737 _CRTIMP 1738 long 1739 __cdecl 1740 _wtol_l( 1741 _In_z_ const wchar_t *_Str, 1742 _In_opt_ _locale_t _Locale); 1743 1744 #if _INTEGRAL_MAX_BITS >= 64 1745 1746 __MINGW_EXTENSION 1747 _CRTIMP 1748 wchar_t* 1749 __cdecl 1750 _i64tow( 1751 _In_ __int64 _Val, 1752 _Pre_notnull_ _Post_z_ wchar_t *_DstBuf, 1753 _In_ int _Radix); 1754 1755 __MINGW_EXTENSION 1756 _CRTIMP 1757 wchar_t* 1758 __cdecl 1759 _ui64tow( 1760 _In_ unsigned __int64 _Val, 1761 _Pre_notnull_ _Post_z_ wchar_t *_DstBuf, 1762 _In_ int _Radix); 1763 1764 _Check_return_ 1765 __MINGW_EXTENSION 1766 _CRTIMP 1767 __int64 1768 __cdecl 1769 _wtoi64( 1770 _In_z_ const wchar_t *_Str); 1771 1772 _Check_return_ 1773 __MINGW_EXTENSION 1774 _CRTIMP 1775 __int64 1776 __cdecl 1777 _wtoi64_l( 1778 _In_z_ const wchar_t *_Str, 1779 _In_opt_ _locale_t _Locale); 1780 1781 _Check_return_ 1782 __MINGW_EXTENSION 1783 _CRTIMP 1784 __int64 1785 __cdecl 1786 _wcstoi64( 1787 _In_z_ const wchar_t *_Str, 1788 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1789 _In_ int _Radix); 1790 1791 _Check_return_ 1792 __MINGW_EXTENSION 1793 _CRTIMP 1794 __int64 1795 __cdecl 1796 _wcstoi64_l( 1797 _In_z_ const wchar_t *_Str, 1798 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1799 _In_ int _Radix, 1800 _In_opt_ _locale_t _Locale); 1801 1802 _Check_return_ 1803 __MINGW_EXTENSION 1804 _CRTIMP 1805 unsigned __int64 1806 __cdecl 1807 _wcstoui64( 1808 _In_z_ const wchar_t *_Str, 1809 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1810 _In_ int _Radix); 1811 1812 _Check_return_ 1813 __MINGW_EXTENSION 1814 _CRTIMP 1815 unsigned __int64 1816 __cdecl 1817 _wcstoui64_l( 1818 _In_z_ const wchar_t *_Str, 1819 _Out_opt_ _Deref_post_z_ wchar_t **_EndPtr, 1820 _In_ int _Radix, 1821 _In_opt_ _locale_t _Locale); 1822 1823 #endif /* _INTEGRAL_MAX_BITS >= 64 */ 1824 1825 #endif /* _WSTDLIB_DEFINED */ 1826 1827 #ifndef _POSIX_ 1828 1829 #ifndef _WSTDLIBP_DEFINED 1830 #define _WSTDLIBP_DEFINED 1831 1832 _Check_return_ 1833 _CRTIMP 1834 wchar_t* 1835 __cdecl 1836 _wfullpath( 1837 _Out_writes_opt_z_(_SizeInWords) wchar_t *_FullPath, 1838 _In_z_ const wchar_t *_Path, 1839 _In_ size_t _SizeInWords); 1840 1841 _CRTIMP 1842 void 1843 __cdecl 1844 _wmakepath( 1845 _Pre_notnull_ _Post_z_ wchar_t *_ResultPath, 1846 _In_opt_z_ const wchar_t *_Drive, 1847 _In_opt_z_ const wchar_t *_Dir, 1848 _In_opt_z_ const wchar_t *_Filename, 1849 _In_opt_z_ const wchar_t *_Ext); 1850 1851 #ifndef _CRT_WPERROR_DEFINED 1852 #define _CRT_WPERROR_DEFINED 1853 _CRTIMP 1854 void 1855 __cdecl 1856 _wperror( 1857 _In_opt_z_ const wchar_t *_ErrMsg); 1858 #endif 1859 1860 _Check_return_ 1861 _CRTIMP 1862 int 1863 __cdecl 1864 _wputenv( 1865 _In_z_ const wchar_t *_EnvString); 1866 1867 _CRTIMP 1868 void 1869 __cdecl 1870 _wsearchenv( 1871 _In_z_ const wchar_t *_Filename, 1872 _In_z_ const wchar_t *_EnvVar, 1873 _Pre_notnull_ _Post_z_ wchar_t *_ResultPath); 1874 1875 _CRTIMP 1876 void 1877 __cdecl 1878 _wsplitpath( 1879 _In_z_ const wchar_t *_FullPath, 1880 _Pre_maybenull_ _Post_z_ wchar_t *_Drive, 1881 _Pre_maybenull_ _Post_z_ wchar_t *_Dir, 1882 _Pre_maybenull_ _Post_z_ wchar_t *_Filename, 1883 _Pre_maybenull_ _Post_z_ wchar_t *_Ext); 1884 1885 #endif /* _WSTDLIBP_DEFINED */ 1886 1887 #endif /* _POSIX_ */ 1888 1889 #ifndef _WSTRING_DEFINED 1890 #define _WSTRING_DEFINED 1891 1892 _Check_return_ 1893 _CRTIMP 1894 wchar_t* 1895 __cdecl 1896 _wcsdup( 1897 _In_z_ const wchar_t *_Str); 1898 1899 wchar_t* 1900 __cdecl 1901 wcscat( 1902 _Inout_updates_z_(_String_length_(_Dest) + _String_length_(_Source) + 1) wchar_t *_Dest, 1903 _In_z_ const wchar_t *_Source); 1904 1905 _CONST_RETURN 1906 wchar_t* 1907 __cdecl 1908 wcschr( 1909 _In_z_ const wchar_t *_Str, 1910 wchar_t _Ch); 1911 1912 _Check_return_ 1913 int 1914 __cdecl 1915 wcscmp( 1916 _In_z_ const wchar_t *_Str1, 1917 _In_z_ const wchar_t *_Str2); 1918 1919 wchar_t* 1920 __cdecl 1921 wcscpy( 1922 _Out_writes_z_(_String_length_(_Source) + 1) wchar_t *_Dest, 1923 _In_z_ const wchar_t *_Source); 1924 1925 _Check_return_ 1926 size_t 1927 __cdecl 1928 wcscspn( 1929 _In_z_ const wchar_t *_Str, 1930 _In_z_ const wchar_t *_Control); 1931 1932 size_t 1933 __cdecl 1934 wcslen( 1935 _In_z_ const wchar_t *_Str); 1936 1937 _When_(_MaxCount > _String_length_(_Src), 1938 _Post_satisfies_(return == _String_length_(_Src))) 1939 _When_(_MaxCount <= _String_length_(_Src), 1940 _Post_satisfies_(return == _MaxCount)) 1941 size_t 1942 __cdecl 1943 wcsnlen( 1944 _In_reads_or_z_(_MaxCount) const wchar_t *_Src, 1945 _In_ size_t _MaxCount); 1946 1947 wchar_t* 1948 __cdecl 1949 wcsncat( 1950 wchar_t *_Dest, 1951 const wchar_t *_Source, 1952 size_t _Count); 1953 1954 _Check_return_ 1955 int 1956 __cdecl 1957 wcsncmp( 1958 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 1959 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 1960 _In_ size_t _MaxCount); 1961 1962 wchar_t* 1963 __cdecl 1964 wcsncpy( 1965 wchar_t *_Dest, 1966 const wchar_t *_Source, 1967 size_t _Count); 1968 1969 _Check_return_ 1970 _CONST_RETURN 1971 wchar_t* 1972 __cdecl 1973 wcspbrk( 1974 _In_z_ const wchar_t *_Str, 1975 _In_z_ const wchar_t *_Control); 1976 1977 _Check_return_ 1978 _CONST_RETURN 1979 wchar_t* 1980 __cdecl 1981 wcsrchr( 1982 _In_z_ const wchar_t *_Str, 1983 _In_ wchar_t _Ch); 1984 1985 _Check_return_ 1986 size_t 1987 __cdecl 1988 wcsspn( 1989 _In_z_ const wchar_t *_Str, 1990 _In_z_ const wchar_t *_Control); 1991 1992 _CONST_RETURN 1993 wchar_t* 1994 __cdecl 1995 wcsstr( 1996 _In_z_ const wchar_t *_Str, 1997 _In_z_ const wchar_t *_SubStr); 1998 1999 _Check_return_ 2000 wchar_t* 2001 __cdecl 2002 wcstok( 2003 _Inout_opt_z_ wchar_t *_Str, 2004 _In_z_ const wchar_t *_Delim); 2005 2006 _Check_return_ 2007 _CRTIMP 2008 wchar_t* 2009 __cdecl 2010 _wcserror( 2011 _In_ int _ErrNum); 2012 2013 _Check_return_ 2014 _CRTIMP 2015 wchar_t* 2016 __cdecl 2017 __wcserror( 2018 _In_opt_z_ const wchar_t *_Str); 2019 2020 _Check_return_ 2021 _CRTIMP 2022 int 2023 __cdecl 2024 _wcsicmp( 2025 _In_z_ const wchar_t *_Str1, 2026 _In_z_ const wchar_t *_Str2); 2027 2028 _Check_return_ 2029 _CRTIMP 2030 int 2031 __cdecl 2032 _wcsicmp_l( 2033 _In_z_ const wchar_t *_Str1, 2034 _In_z_ const wchar_t *_Str2, 2035 _In_opt_ _locale_t _Locale); 2036 2037 _Check_return_ 2038 _CRTIMP 2039 int 2040 __cdecl 2041 _wcsnicmp( 2042 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 2043 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 2044 _In_ size_t _MaxCount); 2045 2046 _Check_return_ 2047 _CRTIMP 2048 int 2049 __cdecl 2050 _wcsnicmp_l( 2051 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 2052 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 2053 _In_ size_t _MaxCount, 2054 _In_opt_ _locale_t _Locale); 2055 2056 _CRTIMP 2057 wchar_t* 2058 __cdecl 2059 _wcsnset( 2060 wchar_t *_Str, 2061 wchar_t _Val, 2062 size_t _MaxCount); 2063 2064 _CRTIMP 2065 wchar_t* 2066 __cdecl 2067 _wcsrev( 2068 _Inout_z_ wchar_t *_Str); 2069 2070 _CRTIMP 2071 wchar_t* 2072 __cdecl 2073 _wcsset( 2074 wchar_t *_Str, 2075 wchar_t _Val); 2076 2077 _CRTIMP 2078 wchar_t* 2079 __cdecl 2080 _wcslwr( 2081 _Inout_z_ wchar_t *_String); 2082 2083 _CRTIMP 2084 wchar_t* 2085 _wcslwr_l( 2086 wchar_t *_String, 2087 _locale_t _Locale); 2088 2089 _CRTIMP 2090 wchar_t* 2091 __cdecl 2092 _wcsupr( 2093 _Inout_z_ wchar_t *_String); 2094 2095 _CRTIMP 2096 wchar_t* 2097 _wcsupr_l( 2098 wchar_t *_String, 2099 _locale_t _Locale); 2100 2101 _Check_return_opt_ 2102 size_t 2103 __cdecl 2104 wcsxfrm( 2105 _Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, 2106 _In_z_ const wchar_t *_Src, 2107 _In_ size_t _MaxCount); 2108 2109 _Check_return_opt_ 2110 _CRTIMP 2111 size_t 2112 __cdecl 2113 _wcsxfrm_l( 2114 _Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, 2115 _In_z_ const wchar_t *_Src, 2116 _In_ size_t _MaxCount, 2117 _In_opt_ _locale_t _Locale); 2118 2119 _Check_return_ 2120 int 2121 __cdecl 2122 wcscoll( 2123 _In_z_ const wchar_t *_Str1, 2124 _In_z_ const wchar_t *_Str2); 2125 2126 _Check_return_ 2127 _CRTIMP 2128 int 2129 __cdecl 2130 _wcscoll_l( 2131 _In_z_ const wchar_t *_Str1, 2132 _In_z_ const wchar_t *_Str2, 2133 _In_opt_ _locale_t _Locale); 2134 2135 _Check_return_ 2136 _CRTIMP 2137 int 2138 __cdecl 2139 _wcsicoll( 2140 _In_z_ const wchar_t *_Str1, 2141 _In_z_ const wchar_t *_Str2); 2142 2143 _Check_return_ 2144 _CRTIMP 2145 int 2146 __cdecl 2147 _wcsicoll_l( 2148 _In_z_ const wchar_t *_Str1, 2149 _In_z_ const wchar_t *_Str2, 2150 _In_opt_ _locale_t _Locale); 2151 2152 _Check_return_ 2153 _CRTIMP 2154 int 2155 __cdecl 2156 _wcsncoll( 2157 _In_z_ const wchar_t *_Str1, 2158 _In_z_ const wchar_t *_Str2, 2159 _In_ size_t _MaxCount); 2160 2161 _Check_return_ 2162 _CRTIMP 2163 int 2164 __cdecl 2165 _wcsncoll_l( 2166 _In_z_ const wchar_t *_Str1, 2167 _In_z_ const wchar_t *_Str2, 2168 _In_ size_t _MaxCount, 2169 _In_opt_ _locale_t _Locale); 2170 2171 _Check_return_ 2172 _CRTIMP 2173 int 2174 __cdecl 2175 _wcsnicoll( 2176 _In_z_ const wchar_t *_Str1, 2177 _In_z_ const wchar_t *_Str2, 2178 _In_ size_t _MaxCount); 2179 2180 _Check_return_ 2181 _CRTIMP 2182 int 2183 __cdecl 2184 _wcsnicoll_l( 2185 _In_z_ const wchar_t *_Str1, 2186 _In_z_ const wchar_t *_Str2, 2187 _In_ size_t _MaxCount, 2188 _In_opt_ _locale_t _Locale); 2189 2190 #ifndef NO_OLDNAMES 2191 2192 _Check_return_ 2193 _CRTIMP 2194 wchar_t* 2195 __cdecl 2196 wcsdup( 2197 _In_z_ const wchar_t *_Str); 2198 2199 #define wcswcs wcsstr 2200 2201 _Check_return_ 2202 _CRTIMP 2203 int 2204 __cdecl 2205 wcsicmp( 2206 _In_z_ const wchar_t *_Str1, 2207 _In_z_ const wchar_t *_Str2); 2208 2209 _Check_return_ 2210 _CRTIMP 2211 int 2212 __cdecl 2213 wcsnicmp( 2214 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 2215 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 2216 _In_ size_t _MaxCount); 2217 2218 _CRTIMP 2219 wchar_t* 2220 __cdecl 2221 wcsnset( 2222 _Inout_updates_z_(_MaxCount) wchar_t *_Str, 2223 _In_ wchar_t _Val, 2224 _In_ size_t _MaxCount); 2225 2226 _CRTIMP 2227 wchar_t* 2228 __cdecl 2229 wcsrev( 2230 _Inout_z_ wchar_t *_Str); 2231 2232 _CRTIMP 2233 wchar_t* 2234 __cdecl 2235 wcsset( 2236 _Inout_z_ wchar_t *_Str, 2237 wchar_t _Val); 2238 2239 _CRTIMP 2240 wchar_t* 2241 __cdecl 2242 wcslwr( 2243 _Inout_z_ wchar_t *_Str); 2244 2245 _CRTIMP 2246 wchar_t* 2247 __cdecl 2248 wcsupr( 2249 _Inout_z_ wchar_t *_Str); 2250 2251 _Check_return_ 2252 _CRTIMP 2253 int 2254 __cdecl 2255 wcsicoll( 2256 _In_z_ const wchar_t *_Str1, 2257 _In_z_ const wchar_t *_Str2); 2258 2259 #endif /* NO_OLDNAMES */ 2260 2261 #endif /* _WSTRING_DEFINED */ 2262 2263 #ifndef _TM_DEFINED 2264 #define _TM_DEFINED 2265 struct tm { 2266 int tm_sec; 2267 int tm_min; 2268 int tm_hour; 2269 int tm_mday; 2270 int tm_mon; 2271 int tm_year; 2272 int tm_wday; 2273 int tm_yday; 2274 int tm_isdst; 2275 }; 2276 #endif 2277 2278 #ifndef _WTIME_DEFINED 2279 #define _WTIME_DEFINED 2280 2281 _CRTIMP 2282 wchar_t* 2283 __cdecl 2284 _wasctime( 2285 _In_ const struct tm *_Tm); 2286 2287 _CRTIMP 2288 wchar_t* 2289 __cdecl 2290 _wctime32( 2291 _In_ const __time32_t *_Time); 2292 2293 _Success_(return > 0) 2294 size_t 2295 __cdecl 2296 wcsftime( 2297 _Out_writes_z_(_SizeInWords) wchar_t *_Buf, 2298 _In_ size_t _SizeInWords, 2299 _In_z_ _Printf_format_string_ const wchar_t *_Format, 2300 _In_ const struct tm *_Tm); 2301 2302 _Success_(return > 0) 2303 _CRTIMP 2304 size_t 2305 __cdecl 2306 _wcsftime_l( 2307 _Out_writes_z_(_SizeInWords) wchar_t *_Buf, 2308 _In_ size_t _SizeInWords, 2309 _In_z_ _Printf_format_string_ const wchar_t *_Format, 2310 _In_ const struct tm *_Tm, 2311 _In_opt_ _locale_t _Locale); 2312 2313 _CRTIMP 2314 wchar_t* 2315 __cdecl 2316 _wstrdate( 2317 _Out_writes_z_(9) wchar_t *_Buffer); 2318 2319 _CRTIMP 2320 wchar_t* 2321 __cdecl 2322 _wstrtime( 2323 _Out_writes_z_(9) wchar_t *_Buffer); 2324 2325 _CRTIMP 2326 errno_t 2327 __cdecl 2328 _wasctime_s( 2329 _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, 2330 _In_ size_t _SizeInWords, 2331 _In_ const struct tm *_Tm); 2332 2333 _CRTIMP 2334 errno_t 2335 __cdecl 2336 _wctime32_s( 2337 _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, 2338 _In_ size_t _SizeInWords, 2339 _In_ const __time32_t *_Time); 2340 2341 _CRTIMP 2342 errno_t 2343 __cdecl 2344 _wstrdate_s( 2345 _Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, 2346 _In_range_(>=, 9) size_t _SizeInWords); 2347 2348 _CRTIMP 2349 errno_t 2350 __cdecl 2351 _wstrtime_s( 2352 _Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, 2353 _In_ size_t _SizeInWords); 2354 2355 #if _INTEGRAL_MAX_BITS >= 64 2356 2357 _CRTIMP 2358 wchar_t* 2359 __cdecl 2360 _wctime64( 2361 _In_ const __time64_t *_Time); 2362 2363 _CRTIMP 2364 errno_t 2365 __cdecl 2366 _wctime64_s( 2367 _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, 2368 _In_ size_t _SizeInWords, 2369 _In_ const __time64_t *_Time); 2370 2371 #endif /* _INTEGRAL_MAX_BITS >= 64 */ 2372 2373 #if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) 2374 #define _INC_WTIME_INL 2375 #ifdef _USE_32BIT_TIME_T 2376 __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime32(_Time); } 2377 #else /* !_USE_32BIT_TIME_T */ 2378 __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); } 2379 #endif /* !_USE_32BIT_TIME_T */ 2380 #endif /* !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) */ 2381 2382 #endif /* _WTIME_DEFINED */ 2383 2384 typedef int mbstate_t; 2385 typedef wchar_t _Wint_t; 2386 2387 wint_t 2388 __cdecl 2389 btowc( 2390 int); 2391 2392 size_t 2393 __cdecl 2394 mbrlen( 2395 _In_reads_bytes_opt_(_SizeInBytes) _Pre_opt_z_ const char *_Ch, 2396 _In_ size_t _SizeInBytes, 2397 _Out_opt_ mbstate_t *_State); 2398 2399 size_t 2400 __cdecl 2401 mbrtowc( 2402 _Pre_maybenull_ _Post_z_ wchar_t *_DstCh, 2403 _In_reads_bytes_opt_(_SizeInBytes) _Pre_opt_z_ const char *_SrcCh, 2404 _In_ size_t _SizeInBytes, 2405 _Out_opt_ mbstate_t *_State); 2406 2407 size_t 2408 __cdecl 2409 mbsrtowcs( 2410 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 2411 _Inout_ _Deref_prepost_opt_valid_ const char **_PSrc, 2412 _In_ size_t _Count, 2413 _Inout_opt_ mbstate_t *_State); 2414 2415 size_t 2416 __cdecl 2417 wcrtomb( 2418 _Pre_maybenull_ _Post_z_ char *_Dest, 2419 _In_ wchar_t _Source, 2420 _Out_opt_ mbstate_t *_State); 2421 2422 size_t 2423 __cdecl 2424 wcsrtombs( 2425 _Pre_maybenull_ _Post_z_ char *_Dest, 2426 _Inout_ _Deref_prepost_z_ const wchar_t **_PSource, 2427 _In_ size_t _Count, 2428 _Out_opt_ mbstate_t *_State); 2429 2430 int 2431 __cdecl 2432 wctob( 2433 _In_ wint_t _WCh); 2434 2435 #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ 2436 2437 wchar_t* 2438 __cdecl 2439 wmemset( 2440 _Out_writes_all_(_N) wchar_t *_S, 2441 _In_ wchar_t _C, 2442 _In_ size_t _N); 2443 2444 _CONST_RETURN 2445 wchar_t* 2446 __cdecl 2447 wmemchr( 2448 _In_reads_(_N) const wchar_t *_S, 2449 _In_ wchar_t _C, 2450 _In_ size_t _N); 2451 2452 int 2453 __cdecl 2454 wmemcmp( 2455 _In_reads_(_N) const wchar_t *_S1, 2456 _In_reads_(_N) const wchar_t *_S2, 2457 _In_ size_t _N); 2458 2459 _Post_equal_to_(_S1) 2460 _At_buffer_(_S1, _Iter_, _N, _Post_satisfies_(_S1[_Iter_] == _S2[_Iter_])) 2461 wchar_t* 2462 __cdecl 2463 wmemcpy( 2464 _Out_writes_all_(_N) wchar_t *_S1, 2465 _In_reads_(_N) const wchar_t *_S2, 2466 _In_ size_t _N); 2467 2468 wchar_t* 2469 __cdecl 2470 wmemmove( 2471 _Out_writes_all_opt_(_N) wchar_t *_S1, 2472 _In_reads_opt_(_N) const wchar_t *_S2, 2473 _In_ size_t _N); 2474 2475 __MINGW_EXTENSION 2476 long long 2477 __cdecl 2478 wcstoll( 2479 const wchar_t *nptr, 2480 wchar_t **endptr, 2481 int base); 2482 2483 __MINGW_EXTENSION 2484 unsigned long long 2485 __cdecl 2486 wcstoull( 2487 const wchar_t *nptr, 2488 wchar_t **endptr, 2489 int base); 2490 2491 #endif /* __NO_ISOCEXT */ 2492 2493 void* 2494 __cdecl 2495 memmove( 2496 _Out_writes_bytes_all_opt_(_MaxCount) void *_Dst, 2497 _In_reads_bytes_opt_(_MaxCount) const void *_Src, 2498 _In_ size_t _MaxCount); 2499 2500 _Post_equal_to_(_Dst) 2501 _At_buffer_((unsigned char*)_Dst, 2502 _Iter_, 2503 _MaxCount, 2504 _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == ((unsigned char*)_Src)[_Iter_])) 2505 void* 2506 __cdecl 2507 memcpy( 2508 _Out_writes_bytes_all_(_MaxCount) void *_Dst, 2509 _In_reads_bytes_(_MaxCount) const void *_Src, 2510 _In_ size_t _MaxCount); 2511 2512 __CRT_INLINE 2513 int 2514 __cdecl 2515 fwide( 2516 _In_opt_ FILE *_F, 2517 int _M) 2518 { 2519 (void)_F; 2520 return (_M); 2521 } 2522 2523 __CRT_INLINE 2524 int 2525 __cdecl 2526 mbsinit( 2527 _In_opt_ const mbstate_t *_P) 2528 { 2529 return (!_P || *_P==0); 2530 } 2531 2532 __CRT_INLINE 2533 _CONST_RETURN 2534 wchar_t* 2535 __cdecl 2536 wmemchr( 2537 _In_reads_(_N) const wchar_t *_S, 2538 _In_ wchar_t _C, 2539 _In_ size_t _N) 2540 { 2541 for (;0<_N;++_S,--_N) 2542 { 2543 if (*_S==_C) return (_CONST_RETURN wchar_t *)(_S); 2544 } 2545 return (0); 2546 } 2547 2548 __CRT_INLINE 2549 int 2550 __cdecl 2551 wmemcmp( 2552 _In_reads_(_N) const wchar_t *_S1, 2553 _In_reads_(_N) const wchar_t *_S2, 2554 _In_ size_t _N) 2555 { 2556 for (; 0 < _N; ++_S1,++_S2,--_N) 2557 { 2558 if (*_S1!=*_S2) return (*_S1 < *_S2 ? -1 : +1); 2559 } 2560 return (0); 2561 } 2562 2563 _Post_equal_to_(_S1) 2564 _At_buffer_(_S1, 2565 _Iter_, 2566 _N, 2567 _Post_satisfies_(_S1[_Iter_] == _S2[_Iter_])) 2568 __CRT_INLINE 2569 wchar_t* 2570 __cdecl 2571 wmemcpy( 2572 _Out_writes_all_(_N) wchar_t *_S1, 2573 _In_reads_(_N) const wchar_t *_S2, 2574 _In_ size_t _N) 2575 { 2576 return (wchar_t *)memcpy(_S1,_S2,_N*sizeof(wchar_t)); 2577 } 2578 2579 __CRT_INLINE 2580 wchar_t* 2581 __cdecl 2582 wmemmove( 2583 _Out_writes_all_opt_(_N) wchar_t *_S1, 2584 _In_reads_opt_(_N) const wchar_t *_S2, 2585 _In_ size_t _N) 2586 { 2587 return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t)); 2588 } 2589 2590 __CRT_INLINE 2591 wchar_t* 2592 __cdecl 2593 wmemset( 2594 _Out_writes_all_(_N) wchar_t *_S, 2595 _In_ wchar_t _C, 2596 _In_ size_t _N) 2597 { 2598 wchar_t *_Su = _S; 2599 for (;0<_N;++_Su,--_N) { 2600 *_Su = _C; 2601 } 2602 return (_S); 2603 } 2604 2605 #ifdef _MSC_VER 2606 #pragma warning(pop) 2607 #endif 2608 2609 #ifdef __cplusplus 2610 } 2611 #endif 2612 2613 #pragma pack(pop) 2614 2615 #include <sec_api/wchar_s.h> 2616 #endif 2617