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 _CRTIMP 1933 size_t 1934 __cdecl 1935 wcslen( 1936 _In_z_ const wchar_t *_Str); 1937 1938 _When_(_MaxCount > _String_length_(_Src), 1939 _Post_satisfies_(return == _String_length_(_Src))) 1940 _When_(_MaxCount <= _String_length_(_Src), 1941 _Post_satisfies_(return == _MaxCount)) 1942 size_t 1943 __cdecl 1944 wcsnlen( 1945 _In_reads_or_z_(_MaxCount) const wchar_t *_Src, 1946 _In_ size_t _MaxCount); 1947 1948 wchar_t* 1949 __cdecl 1950 wcsncat( 1951 wchar_t *_Dest, 1952 const wchar_t *_Source, 1953 size_t _Count); 1954 1955 _Check_return_ 1956 int 1957 __cdecl 1958 wcsncmp( 1959 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 1960 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 1961 _In_ size_t _MaxCount); 1962 1963 wchar_t* 1964 __cdecl 1965 wcsncpy( 1966 wchar_t *_Dest, 1967 const wchar_t *_Source, 1968 size_t _Count); 1969 1970 _Check_return_ 1971 _CONST_RETURN 1972 wchar_t* 1973 __cdecl 1974 wcspbrk( 1975 _In_z_ const wchar_t *_Str, 1976 _In_z_ const wchar_t *_Control); 1977 1978 _Check_return_ 1979 _CONST_RETURN 1980 wchar_t* 1981 __cdecl 1982 wcsrchr( 1983 _In_z_ const wchar_t *_Str, 1984 _In_ wchar_t _Ch); 1985 1986 _Check_return_ 1987 size_t 1988 __cdecl 1989 wcsspn( 1990 _In_z_ const wchar_t *_Str, 1991 _In_z_ const wchar_t *_Control); 1992 1993 _CONST_RETURN 1994 wchar_t* 1995 __cdecl 1996 wcsstr( 1997 _In_z_ const wchar_t *_Str, 1998 _In_z_ const wchar_t *_SubStr); 1999 2000 _Check_return_ 2001 wchar_t* 2002 __cdecl 2003 wcstok( 2004 _Inout_opt_z_ wchar_t *_Str, 2005 _In_z_ const wchar_t *_Delim); 2006 2007 _Check_return_ 2008 _CRTIMP 2009 wchar_t* 2010 __cdecl 2011 _wcserror( 2012 _In_ int _ErrNum); 2013 2014 _Check_return_ 2015 _CRTIMP 2016 wchar_t* 2017 __cdecl 2018 __wcserror( 2019 _In_opt_z_ const wchar_t *_Str); 2020 2021 _Check_return_ 2022 _CRTIMP 2023 int 2024 __cdecl 2025 _wcsicmp( 2026 _In_z_ const wchar_t *_Str1, 2027 _In_z_ const wchar_t *_Str2); 2028 2029 _Check_return_ 2030 _CRTIMP 2031 int 2032 __cdecl 2033 _wcsicmp_l( 2034 _In_z_ const wchar_t *_Str1, 2035 _In_z_ const wchar_t *_Str2, 2036 _In_opt_ _locale_t _Locale); 2037 2038 _Check_return_ 2039 _CRTIMP 2040 int 2041 __cdecl 2042 _wcsnicmp( 2043 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 2044 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 2045 _In_ size_t _MaxCount); 2046 2047 _Check_return_ 2048 _CRTIMP 2049 int 2050 __cdecl 2051 _wcsnicmp_l( 2052 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 2053 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 2054 _In_ size_t _MaxCount, 2055 _In_opt_ _locale_t _Locale); 2056 2057 _CRTIMP 2058 wchar_t* 2059 __cdecl 2060 _wcsnset( 2061 wchar_t *_Str, 2062 wchar_t _Val, 2063 size_t _MaxCount); 2064 2065 _CRTIMP 2066 wchar_t* 2067 __cdecl 2068 _wcsrev( 2069 _Inout_z_ wchar_t *_Str); 2070 2071 _CRTIMP 2072 wchar_t* 2073 __cdecl 2074 _wcsset( 2075 wchar_t *_Str, 2076 wchar_t _Val); 2077 2078 _CRTIMP 2079 wchar_t* 2080 __cdecl 2081 _wcslwr( 2082 _Inout_z_ wchar_t *_String); 2083 2084 _CRTIMP 2085 wchar_t* 2086 _wcslwr_l( 2087 wchar_t *_String, 2088 _locale_t _Locale); 2089 2090 _CRTIMP 2091 wchar_t* 2092 __cdecl 2093 _wcsupr( 2094 _Inout_z_ wchar_t *_String); 2095 2096 _CRTIMP 2097 wchar_t* 2098 _wcsupr_l( 2099 wchar_t *_String, 2100 _locale_t _Locale); 2101 2102 _Check_return_opt_ 2103 size_t 2104 __cdecl 2105 wcsxfrm( 2106 _Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, 2107 _In_z_ const wchar_t *_Src, 2108 _In_ size_t _MaxCount); 2109 2110 _Check_return_opt_ 2111 _CRTIMP 2112 size_t 2113 __cdecl 2114 _wcsxfrm_l( 2115 _Out_writes_opt_(_MaxCount) _Post_maybez_ wchar_t *_Dst, 2116 _In_z_ const wchar_t *_Src, 2117 _In_ size_t _MaxCount, 2118 _In_opt_ _locale_t _Locale); 2119 2120 _Check_return_ 2121 int 2122 __cdecl 2123 wcscoll( 2124 _In_z_ const wchar_t *_Str1, 2125 _In_z_ const wchar_t *_Str2); 2126 2127 _Check_return_ 2128 _CRTIMP 2129 int 2130 __cdecl 2131 _wcscoll_l( 2132 _In_z_ const wchar_t *_Str1, 2133 _In_z_ const wchar_t *_Str2, 2134 _In_opt_ _locale_t _Locale); 2135 2136 _Check_return_ 2137 _CRTIMP 2138 int 2139 __cdecl 2140 _wcsicoll( 2141 _In_z_ const wchar_t *_Str1, 2142 _In_z_ const wchar_t *_Str2); 2143 2144 _Check_return_ 2145 _CRTIMP 2146 int 2147 __cdecl 2148 _wcsicoll_l( 2149 _In_z_ const wchar_t *_Str1, 2150 _In_z_ const wchar_t *_Str2, 2151 _In_opt_ _locale_t _Locale); 2152 2153 _Check_return_ 2154 _CRTIMP 2155 int 2156 __cdecl 2157 _wcsncoll( 2158 _In_z_ const wchar_t *_Str1, 2159 _In_z_ const wchar_t *_Str2, 2160 _In_ size_t _MaxCount); 2161 2162 _Check_return_ 2163 _CRTIMP 2164 int 2165 __cdecl 2166 _wcsncoll_l( 2167 _In_z_ const wchar_t *_Str1, 2168 _In_z_ const wchar_t *_Str2, 2169 _In_ size_t _MaxCount, 2170 _In_opt_ _locale_t _Locale); 2171 2172 _Check_return_ 2173 _CRTIMP 2174 int 2175 __cdecl 2176 _wcsnicoll( 2177 _In_z_ const wchar_t *_Str1, 2178 _In_z_ const wchar_t *_Str2, 2179 _In_ size_t _MaxCount); 2180 2181 _Check_return_ 2182 _CRTIMP 2183 int 2184 __cdecl 2185 _wcsnicoll_l( 2186 _In_z_ const wchar_t *_Str1, 2187 _In_z_ const wchar_t *_Str2, 2188 _In_ size_t _MaxCount, 2189 _In_opt_ _locale_t _Locale); 2190 2191 #ifndef NO_OLDNAMES 2192 2193 _Check_return_ 2194 _CRTIMP 2195 wchar_t* 2196 __cdecl 2197 wcsdup( 2198 _In_z_ const wchar_t *_Str); 2199 2200 #define wcswcs wcsstr 2201 2202 _Check_return_ 2203 _CRTIMP 2204 int 2205 __cdecl 2206 wcsicmp( 2207 _In_z_ const wchar_t *_Str1, 2208 _In_z_ const wchar_t *_Str2); 2209 2210 _Check_return_ 2211 _CRTIMP 2212 int 2213 __cdecl 2214 wcsnicmp( 2215 _In_reads_or_z_(_MaxCount) const wchar_t *_Str1, 2216 _In_reads_or_z_(_MaxCount) const wchar_t *_Str2, 2217 _In_ size_t _MaxCount); 2218 2219 _CRTIMP 2220 wchar_t* 2221 __cdecl 2222 wcsnset( 2223 _Inout_updates_z_(_MaxCount) wchar_t *_Str, 2224 _In_ wchar_t _Val, 2225 _In_ size_t _MaxCount); 2226 2227 _CRTIMP 2228 wchar_t* 2229 __cdecl 2230 wcsrev( 2231 _Inout_z_ wchar_t *_Str); 2232 2233 _CRTIMP 2234 wchar_t* 2235 __cdecl 2236 wcsset( 2237 _Inout_z_ wchar_t *_Str, 2238 wchar_t _Val); 2239 2240 _CRTIMP 2241 wchar_t* 2242 __cdecl 2243 wcslwr( 2244 _Inout_z_ wchar_t *_Str); 2245 2246 _CRTIMP 2247 wchar_t* 2248 __cdecl 2249 wcsupr( 2250 _Inout_z_ wchar_t *_Str); 2251 2252 _Check_return_ 2253 _CRTIMP 2254 int 2255 __cdecl 2256 wcsicoll( 2257 _In_z_ const wchar_t *_Str1, 2258 _In_z_ const wchar_t *_Str2); 2259 2260 #endif /* NO_OLDNAMES */ 2261 2262 #endif /* _WSTRING_DEFINED */ 2263 2264 #ifndef _TM_DEFINED 2265 #define _TM_DEFINED 2266 struct tm { 2267 int tm_sec; 2268 int tm_min; 2269 int tm_hour; 2270 int tm_mday; 2271 int tm_mon; 2272 int tm_year; 2273 int tm_wday; 2274 int tm_yday; 2275 int tm_isdst; 2276 }; 2277 #endif 2278 2279 #ifndef _WTIME_DEFINED 2280 #define _WTIME_DEFINED 2281 2282 _CRTIMP 2283 wchar_t* 2284 __cdecl 2285 _wasctime( 2286 _In_ const struct tm *_Tm); 2287 2288 _CRTIMP 2289 wchar_t* 2290 __cdecl 2291 _wctime32( 2292 _In_ const __time32_t *_Time); 2293 2294 _Success_(return > 0) 2295 size_t 2296 __cdecl 2297 wcsftime( 2298 _Out_writes_z_(_SizeInWords) wchar_t *_Buf, 2299 _In_ size_t _SizeInWords, 2300 _In_z_ _Printf_format_string_ const wchar_t *_Format, 2301 _In_ const struct tm *_Tm); 2302 2303 _Success_(return > 0) 2304 _CRTIMP 2305 size_t 2306 __cdecl 2307 _wcsftime_l( 2308 _Out_writes_z_(_SizeInWords) wchar_t *_Buf, 2309 _In_ size_t _SizeInWords, 2310 _In_z_ _Printf_format_string_ const wchar_t *_Format, 2311 _In_ const struct tm *_Tm, 2312 _In_opt_ _locale_t _Locale); 2313 2314 _CRTIMP 2315 wchar_t* 2316 __cdecl 2317 _wstrdate( 2318 _Out_writes_z_(9) wchar_t *_Buffer); 2319 2320 _CRTIMP 2321 wchar_t* 2322 __cdecl 2323 _wstrtime( 2324 _Out_writes_z_(9) wchar_t *_Buffer); 2325 2326 _CRTIMP 2327 errno_t 2328 __cdecl 2329 _wasctime_s( 2330 _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, 2331 _In_ size_t _SizeInWords, 2332 _In_ const struct tm *_Tm); 2333 2334 _CRTIMP 2335 errno_t 2336 __cdecl 2337 _wctime32_s( 2338 _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, 2339 _In_ size_t _SizeInWords, 2340 _In_ const __time32_t *_Time); 2341 2342 _CRTIMP 2343 errno_t 2344 __cdecl 2345 _wstrdate_s( 2346 _Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, 2347 _In_range_(>=, 9) size_t _SizeInWords); 2348 2349 _CRTIMP 2350 errno_t 2351 __cdecl 2352 _wstrtime_s( 2353 _Out_writes_(_SizeInWords) _Post_readable_size_(9) wchar_t *_Buf, 2354 _In_ size_t _SizeInWords); 2355 2356 #if _INTEGRAL_MAX_BITS >= 64 2357 2358 _CRTIMP 2359 wchar_t* 2360 __cdecl 2361 _wctime64( 2362 _In_ const __time64_t *_Time); 2363 2364 _CRTIMP 2365 errno_t 2366 __cdecl 2367 _wctime64_s( 2368 _Out_writes_(_SizeInWords) _Post_readable_size_(26) wchar_t *_Buf, 2369 _In_ size_t _SizeInWords, 2370 _In_ const __time64_t *_Time); 2371 2372 #endif /* _INTEGRAL_MAX_BITS >= 64 */ 2373 2374 #if !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) 2375 #define _INC_WTIME_INL 2376 #ifdef _USE_32BIT_TIME_T 2377 __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime32(_Time); } 2378 #else /* !_USE_32BIT_TIME_T */ 2379 __CRT_INLINE wchar_t *__cdecl _wctime(const time_t *_Time) { return _wctime64(_Time); } 2380 #endif /* !_USE_32BIT_TIME_T */ 2381 #endif /* !defined (RC_INVOKED) && !defined (_INC_WTIME_INL) */ 2382 2383 #endif /* _WTIME_DEFINED */ 2384 2385 typedef int mbstate_t; 2386 typedef wchar_t _Wint_t; 2387 2388 wint_t 2389 __cdecl 2390 btowc( 2391 int); 2392 2393 size_t 2394 __cdecl 2395 mbrlen( 2396 _In_reads_bytes_opt_(_SizeInBytes) _Pre_opt_z_ const char *_Ch, 2397 _In_ size_t _SizeInBytes, 2398 _Out_opt_ mbstate_t *_State); 2399 2400 size_t 2401 __cdecl 2402 mbrtowc( 2403 _Pre_maybenull_ _Post_z_ wchar_t *_DstCh, 2404 _In_reads_bytes_opt_(_SizeInBytes) _Pre_opt_z_ const char *_SrcCh, 2405 _In_ size_t _SizeInBytes, 2406 _Out_opt_ mbstate_t *_State); 2407 2408 size_t 2409 __cdecl 2410 mbsrtowcs( 2411 _Pre_notnull_ _Post_z_ wchar_t *_Dest, 2412 _Inout_ _Deref_prepost_opt_valid_ const char **_PSrc, 2413 _In_ size_t _Count, 2414 _Inout_opt_ mbstate_t *_State); 2415 2416 size_t 2417 __cdecl 2418 wcrtomb( 2419 _Pre_maybenull_ _Post_z_ char *_Dest, 2420 _In_ wchar_t _Source, 2421 _Out_opt_ mbstate_t *_State); 2422 2423 size_t 2424 __cdecl 2425 wcsrtombs( 2426 _Pre_maybenull_ _Post_z_ char *_Dest, 2427 _Inout_ _Deref_prepost_z_ const wchar_t **_PSource, 2428 _In_ size_t _Count, 2429 _Out_opt_ mbstate_t *_State); 2430 2431 int 2432 __cdecl 2433 wctob( 2434 _In_ wint_t _WCh); 2435 2436 #ifndef __NO_ISOCEXT /* these need static lib libmingwex.a */ 2437 2438 wchar_t* 2439 __cdecl 2440 wmemset( 2441 _Out_writes_all_(_N) wchar_t *_S, 2442 _In_ wchar_t _C, 2443 _In_ size_t _N); 2444 2445 _CONST_RETURN 2446 wchar_t* 2447 __cdecl 2448 wmemchr( 2449 _In_reads_(_N) const wchar_t *_S, 2450 _In_ wchar_t _C, 2451 _In_ size_t _N); 2452 2453 int 2454 __cdecl 2455 wmemcmp( 2456 _In_reads_(_N) const wchar_t *_S1, 2457 _In_reads_(_N) const wchar_t *_S2, 2458 _In_ size_t _N); 2459 2460 _Post_equal_to_(_S1) 2461 _At_buffer_(_S1, _Iter_, _N, _Post_satisfies_(_S1[_Iter_] == _S2[_Iter_])) 2462 wchar_t* 2463 __cdecl 2464 wmemcpy( 2465 _Out_writes_all_(_N) wchar_t *_S1, 2466 _In_reads_(_N) const wchar_t *_S2, 2467 _In_ size_t _N); 2468 2469 wchar_t* 2470 __cdecl 2471 wmemmove( 2472 _Out_writes_all_opt_(_N) wchar_t *_S1, 2473 _In_reads_opt_(_N) const wchar_t *_S2, 2474 _In_ size_t _N); 2475 2476 __MINGW_EXTENSION 2477 long long 2478 __cdecl 2479 wcstoll( 2480 const wchar_t *nptr, 2481 wchar_t **endptr, 2482 int base); 2483 2484 __MINGW_EXTENSION 2485 unsigned long long 2486 __cdecl 2487 wcstoull( 2488 const wchar_t *nptr, 2489 wchar_t **endptr, 2490 int base); 2491 2492 #endif /* __NO_ISOCEXT */ 2493 2494 void* 2495 __cdecl 2496 memmove( 2497 _Out_writes_bytes_all_opt_(_MaxCount) void *_Dst, 2498 _In_reads_bytes_opt_(_MaxCount) const void *_Src, 2499 _In_ size_t _MaxCount); 2500 2501 _Post_equal_to_(_Dst) 2502 _At_buffer_((unsigned char*)_Dst, 2503 _Iter_, 2504 _MaxCount, 2505 _Post_satisfies_(((unsigned char*)_Dst)[_Iter_] == ((unsigned char*)_Src)[_Iter_])) 2506 void* 2507 __cdecl 2508 memcpy( 2509 _Out_writes_bytes_all_(_MaxCount) void *_Dst, 2510 _In_reads_bytes_(_MaxCount) const void *_Src, 2511 _In_ size_t _MaxCount); 2512 2513 __CRT_INLINE 2514 int 2515 __cdecl 2516 fwide( 2517 _In_opt_ FILE *_F, 2518 int _M) 2519 { 2520 (void)_F; 2521 return (_M); 2522 } 2523 2524 __CRT_INLINE 2525 int 2526 __cdecl 2527 mbsinit( 2528 _In_opt_ const mbstate_t *_P) 2529 { 2530 return (!_P || *_P==0); 2531 } 2532 2533 __CRT_INLINE 2534 _CONST_RETURN 2535 wchar_t* 2536 __cdecl 2537 wmemchr( 2538 _In_reads_(_N) const wchar_t *_S, 2539 _In_ wchar_t _C, 2540 _In_ size_t _N) 2541 { 2542 for (;0<_N;++_S,--_N) 2543 { 2544 if (*_S==_C) return (_CONST_RETURN wchar_t *)(_S); 2545 } 2546 return (0); 2547 } 2548 2549 __CRT_INLINE 2550 int 2551 __cdecl 2552 wmemcmp( 2553 _In_reads_(_N) const wchar_t *_S1, 2554 _In_reads_(_N) const wchar_t *_S2, 2555 _In_ size_t _N) 2556 { 2557 for (; 0 < _N; ++_S1,++_S2,--_N) 2558 { 2559 if (*_S1!=*_S2) return (*_S1 < *_S2 ? -1 : +1); 2560 } 2561 return (0); 2562 } 2563 2564 _Post_equal_to_(_S1) 2565 _At_buffer_(_S1, 2566 _Iter_, 2567 _N, 2568 _Post_satisfies_(_S1[_Iter_] == _S2[_Iter_])) 2569 __CRT_INLINE 2570 wchar_t* 2571 __cdecl 2572 wmemcpy( 2573 _Out_writes_all_(_N) wchar_t *_S1, 2574 _In_reads_(_N) const wchar_t *_S2, 2575 _In_ size_t _N) 2576 { 2577 return (wchar_t *)memcpy(_S1,_S2,_N*sizeof(wchar_t)); 2578 } 2579 2580 __CRT_INLINE 2581 wchar_t* 2582 __cdecl 2583 wmemmove( 2584 _Out_writes_all_opt_(_N) wchar_t *_S1, 2585 _In_reads_opt_(_N) const wchar_t *_S2, 2586 _In_ size_t _N) 2587 { 2588 return (wchar_t *)memmove(_S1,_S2,_N*sizeof(wchar_t)); 2589 } 2590 2591 __CRT_INLINE 2592 wchar_t* 2593 __cdecl 2594 wmemset( 2595 _Out_writes_all_(_N) wchar_t *_S, 2596 _In_ wchar_t _C, 2597 _In_ size_t _N) 2598 { 2599 wchar_t *_Su = _S; 2600 for (;0<_N;++_Su,--_N) { 2601 *_Su = _C; 2602 } 2603 return (_S); 2604 } 2605 2606 #ifdef _MSC_VER 2607 #pragma warning(pop) 2608 #endif 2609 2610 #ifdef __cplusplus 2611 } 2612 #endif 2613 2614 #pragma pack(pop) 2615 2616 #include <sec_api/wchar_s.h> 2617 #endif 2618