Reactos
at master 1322 lines 23 kB view raw
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_STDIO 7#define _INC_STDIO 8 9#include <corecrt.h> 10 11#define __need___va_list 12#include <stdarg.h> 13 14#pragma pack(push,_CRT_PACKING) 15 16#ifdef __cplusplus 17extern "C" { 18#endif 19 20#define BUFSIZ 512 21#define _NFILE _NSTREAM_ 22#define _NSTREAM_ 512 23#define _IOB_ENTRIES 20 24#define EOF (-1) 25 26#ifndef _FILE_DEFINED 27 struct _iobuf { 28 char *_ptr; 29 int _cnt; 30 char *_base; 31 int _flag; 32 int _file; 33 int _charbuf; 34 int _bufsiz; 35 char *_tmpfname; 36 }; 37 typedef struct _iobuf FILE; 38#define _FILE_DEFINED 39#endif 40 41#ifdef _POSIX_ 42#define _P_tmpdir "/" 43#define _wP_tmpdir L"/" 44#else 45#define _P_tmpdir "\\" 46#define _wP_tmpdir L"\\" 47#endif 48 49#define L_tmpnam (sizeof(_P_tmpdir) + 12) 50 51#ifdef _POSIX_ 52#define L_ctermid 9 53#define L_cuserid 32 54#endif 55 56#define SEEK_CUR 1 57#define SEEK_END 2 58#define SEEK_SET 0 59 60#define STDIN_FILENO 0 61#define STDOUT_FILENO 1 62#define STDERR_FILENO 2 63 64#define FILENAME_MAX 260 65#define FOPEN_MAX 20 66#define _SYS_OPEN 20 67#define TMP_MAX 32767 68 69#ifndef _OFF_T_DEFINED 70#define _OFF_T_DEFINED 71#ifndef _OFF_T_ 72#define _OFF_T_ 73 typedef long _off_t; 74#if !defined(NO_OLDNAMES) || defined(_POSIX) 75 typedef long off_t; 76#endif 77#endif 78#endif 79 80#ifndef _OFF64_T_DEFINED 81#define _OFF64_T_DEFINED 82 __MINGW_EXTENSION typedef long long _off64_t; 83#if !defined(NO_OLDNAMES) || defined(_POSIX) 84 __MINGW_EXTENSION typedef long long off64_t; 85#endif 86#endif 87 88#ifndef _STDIO_DEFINED 89 _CRTIMP FILE *__cdecl __iob_func(void); 90 _CRTDATA(extern FILE _iob[];) 91#ifdef _M_CEE_PURE 92#define _iob __iob_func() 93#endif 94#endif 95 96#ifndef _STDSTREAM_DEFINED 97#define _STDSTREAM_DEFINED 98#define stdin (&_iob[0]) 99#define stdout (&_iob[1]) 100#define stderr (&_iob[2]) 101#endif /* !_STDSTREAM_DEFINED */ 102 103#ifndef _FPOS_T_DEFINED 104#define _FPOS_T_DEFINED 105#undef _FPOSOFF 106 107#if (!defined(NO_OLDNAMES) || defined(__GNUC__)) && _INTEGRAL_MAX_BITS >= 64 108 __MINGW_EXTENSION typedef __int64 fpos_t; 109#define _FPOSOFF(fp) ((long)(fp)) 110#else 111 __MINGW_EXTENSION typedef long long fpos_t; 112#define _FPOSOFF(fp) ((long)(fp)) 113#endif 114 115#endif 116 117#if defined(_M_IX86) // newer Windows versions always have it 118_CRTIMP int* __cdecl __p__commode(void); 119#endif 120 121/* On newer Windows windows versions, (*__p__commode()) is used */ 122extern _CRTIMP int _commode; 123 124#define _IOREAD 0x0001 125#define _IOWRT 0x0002 126 127#define _IOFBF 0x0000 128#define _IOLBF 0x0040 129#define _IONBF 0x0004 130 131#define _IOMYBUF 0x0008 132#define _IOEOF 0x0010 133#define _IOERR 0x0020 134#define _IOSTRG 0x0040 135#define _IORW 0x0080 136#define _USERBUF 0x0100 137 138#define _TWO_DIGIT_EXPONENT 0x1 139 140#ifndef _STDIO_DEFINED 141 142 _Check_return_ 143 _CRTIMP 144 int 145 __cdecl 146 _filbuf( 147 _Inout_ FILE *_File); 148 149 _Check_return_opt_ 150 _CRTIMP 151 int 152 __cdecl 153 _flsbuf( 154 _In_ int _Ch, 155 _Inout_ FILE *_File); 156 157#ifdef _POSIX_ 158 _CRTIMP 159 FILE* 160 __cdecl 161 _fsopen( 162 const char *_Filename, 163 const char *_Mode); 164#else 165 _Check_return_ 166 _CRTIMP 167 FILE* 168 __cdecl 169 _fsopen( 170 _In_z_ const char *_Filename, 171 _In_z_ const char *_Mode, 172 _In_ int _ShFlag); 173#endif 174 175 _CRTIMP 176 void 177 __cdecl 178 clearerr( 179 _Inout_ FILE *_File); 180 181 _Check_return_opt_ 182 _CRTIMP 183 int 184 __cdecl 185 fclose( 186 _Inout_ FILE *_File); 187 188 _Check_return_opt_ 189 _CRTIMP 190 int 191 __cdecl 192 _fcloseall(void); 193 194#ifdef _POSIX_ 195 FILE* 196 __cdecl 197 fdopen( 198 int _FileHandle, 199 const char *_Mode); 200#else 201 _Check_return_ 202 _CRTIMP 203 FILE* 204 __cdecl 205 _fdopen( 206 _In_ int _FileHandle, 207 _In_z_ const char *_Mode); 208#endif 209 210 _Check_return_ 211 _CRTIMP 212 int 213 __cdecl 214 feof( 215 _In_ FILE *_File); 216 217 _Check_return_ 218 _CRTIMP 219 int 220 __cdecl 221 ferror( 222 _In_ FILE *_File); 223 224 _Check_return_opt_ 225 _CRTIMP 226 int 227 __cdecl 228 fflush( 229 _Inout_opt_ FILE *_File); 230 231 _Check_return_opt_ 232 _CRTIMP 233 int 234 __cdecl 235 fgetc( 236 _Inout_ FILE *_File); 237 238 _Check_return_opt_ 239 _CRTIMP 240 int 241 __cdecl 242 _fgetchar(void); 243 244 _Check_return_opt_ 245 _CRTIMP 246 int 247 __cdecl 248 fgetpos( 249 _Inout_ FILE *_File, 250 _Out_ fpos_t *_Pos); 251 252 _Check_return_opt_ 253 _CRTIMP 254 char* 255 __cdecl 256 fgets( 257 _Out_writes_z_(_MaxCount) char *_Buf, 258 _In_ int _MaxCount, 259 _Inout_ FILE *_File); 260 261#ifdef _POSIX_ 262 int 263 __cdecl 264 fileno( 265 FILE *_File); 266#else 267 _Check_return_ 268 _CRTIMP 269 int 270 __cdecl 271 _fileno( 272 _In_ FILE *_File); 273#endif 274 275 _Check_return_ 276 _CRTIMP 277 char* 278 __cdecl 279 _tempnam( 280 _In_opt_z_ const char *_DirName, 281 _In_opt_z_ const char *_FilePrefix); 282 283 _Check_return_opt_ 284 _CRTIMP 285 int 286 __cdecl 287 _flushall(void); 288 289 _Check_return_ 290 _CRTIMP 291 FILE* 292 __cdecl 293 fopen( 294 _In_z_ const char *_Filename, 295 _In_z_ const char *_Mode); 296 297 _Check_return_opt_ 298 _CRTIMP 299 int 300 __cdecl 301 fprintf( 302 _Inout_ FILE *_File, 303 _In_z_ _Printf_format_string_ const char *_Format, 304 ...); 305 306 _Check_return_opt_ 307 _CRTIMP 308 int 309 __cdecl 310 fputc( 311 _In_ int _Ch, 312 _Inout_ FILE *_File); 313 314 _Check_return_opt_ 315 _CRTIMP 316 int 317 __cdecl 318 _fputchar( 319 _In_ int _Ch); 320 321 _Check_return_opt_ 322 _CRTIMP 323 int 324 __cdecl 325 fputs( 326 _In_z_ const char *_Str, 327 _Inout_ FILE *_File); 328 329 _Check_return_opt_ 330 _CRTIMP 331 size_t 332 __cdecl 333 fread( 334 _Out_writes_bytes_(_ElementSize * _Count) void *_DstBuf, 335 _In_ size_t _ElementSize, 336 _In_ size_t _Count, 337 _Inout_ FILE *_File); 338 339 _Check_return_ 340 _CRTIMP 341 _CRT_INSECURE_DEPRECATE(freopen_s) 342 FILE* 343 __cdecl 344 freopen( 345 _In_z_ const char *_Filename, 346 _In_z_ const char *_Mode, 347 _Inout_ FILE *_File); 348 349 _Check_return_ 350 _CRTIMP 351 _CRT_INSECURE_DEPRECATE(fscanf_s) 352 int 353 __cdecl 354 fscanf( 355 _Inout_ FILE *_File, 356 _In_z_ _Scanf_format_string_ const char *_Format, 357 ...); 358 359 _Check_return_opt_ 360 _CRTIMP 361 int 362 __cdecl 363 fsetpos( 364 _Inout_ FILE *_File, 365 _In_ const fpos_t *_Pos); 366 367 _Check_return_opt_ 368 _CRTIMP 369 int 370 __cdecl 371 fseek( 372 _Inout_ FILE *_File, 373 _In_ long _Offset, 374 _In_ int _Origin); 375 376 _Check_return_ 377 _CRTIMP 378 long 379 __cdecl 380 ftell( 381 _Inout_ FILE *_File); 382 383 _Check_return_opt_ 384 __MINGW_EXTENSION 385 _CRTIMP 386 int 387 __cdecl 388 _fseeki64( 389 _Inout_ FILE *_File, 390 _In_ __int64 _Offset, 391 _In_ int _Origin); 392 393 __MINGW_EXTENSION 394 _Check_return_ 395 _CRTIMP 396 __int64 397 __cdecl 398 _ftelli64( 399 _Inout_ FILE *_File); 400 401 _Check_return_opt_ 402 _CRTIMP 403 size_t 404 __cdecl 405 fwrite( 406 _In_reads_bytes_(_Size * _Count) const void *_Str, 407 _In_ size_t _Size, 408 _In_ size_t _Count, 409 _Inout_ FILE *_File); 410 411 _Check_return_ 412 _CRTIMP 413 int 414 __cdecl 415 getc( 416 _Inout_ FILE *_File); 417 418 _Check_return_ 419 _CRTIMP 420 int 421 __cdecl 422 getchar(void); 423 424 _Check_return_ 425 _CRTIMP 426 int 427 __cdecl 428 _getmaxstdio(void); 429 430 _CRTIMP 431 char* 432 __cdecl 433 gets( 434 char *_Buffer); // FIXME: non-standard 435 436 _Check_return_ 437 _CRTIMP 438 int 439 __cdecl 440 _getw( 441 _Inout_ FILE *_File); 442 443#ifndef _CRT_PERROR_DEFINED 444#define _CRT_PERROR_DEFINED 445 _CRTIMP 446 void 447 __cdecl 448 perror( 449 _In_opt_z_ const char *_ErrMsg); 450#endif 451 452 _Check_return_opt_ 453 _CRTIMP 454 int 455 __cdecl 456 _pclose( 457 _Inout_ FILE *_File); 458 459 _Check_return_ 460 _CRTIMP 461 FILE* 462 __cdecl 463 _popen( 464 _In_z_ const char *_Command, 465 _In_z_ const char *_Mode); 466 467 _Check_return_opt_ 468 _CRTIMP 469 int 470 __cdecl 471 printf( 472 _In_z_ _Printf_format_string_ const char *_Format, 473 ...); 474 475 _Check_return_opt_ 476 _CRTIMP 477 int 478 __cdecl 479 putc( 480 _In_ int _Ch, 481 _Inout_ FILE *_File); 482 483 _Check_return_opt_ 484 _CRTIMP 485 int 486 __cdecl 487 putchar( 488 _In_ int _Ch); 489 490 _Check_return_opt_ 491 _CRTIMP 492 int 493 __cdecl 494 puts( 495 _In_z_ const char *_Str); 496 497 _Check_return_opt_ 498 _CRTIMP 499 int 500 __cdecl 501 _putw( 502 _In_ int _Word, 503 _Inout_ FILE *_File); 504 505#ifndef _CRT_DIRECTORY_DEFINED 506#define _CRT_DIRECTORY_DEFINED 507 508 _Check_return_ 509 _CRTIMP 510 int 511 __cdecl 512 remove( 513 _In_z_ const char *_Filename); 514 515 _Check_return_ 516 _CRTIMP 517 int 518 __cdecl 519 rename( 520 _In_z_ const char *_OldFilename, 521 _In_z_ const char *_NewFilename); 522 523 _Check_return_ 524 _CRTIMP 525 int 526 __cdecl 527 _unlink( 528 _In_z_ const char *_Filename); 529 530#ifndef NO_OLDNAMES 531 _Check_return_ 532 _CRTIMP 533 _CRT_NONSTDC_DEPRECATE(_unlink) 534 int 535 __cdecl 536 unlink( 537 _In_z_ const char *_Filename); 538#endif 539 540#endif /* _CRT_DIRECTORY_DEFINED */ 541 542 _CRTIMP 543 void 544 __cdecl 545 rewind( 546 _Inout_ FILE *_File); 547 548 _Check_return_opt_ 549 _CRTIMP 550 int 551 __cdecl 552 _rmtmp(void); 553 554 _Check_return_ 555 _CRTIMP 556 _CRT_INSECURE_DEPRECATE_CORE(scanf_s) 557 int 558 __cdecl 559 scanf( 560 _In_z_ _Scanf_format_string_ const char *_Format, 561 ...); 562 563 _CRTIMP 564 _CRT_INSECURE_DEPRECATE(setvbuf) 565 void 566 __cdecl 567 setbuf( 568 _Inout_ FILE *_File, 569 _Inout_updates_opt_(BUFSIZ) _Post_readable_size_(0) char *_Buffer); 570 571 _Check_return_opt_ 572 _CRTIMP 573 int 574 __cdecl 575 _setmaxstdio( 576 _In_ int _Max); 577 578 _Check_return_opt_ 579 _CRTIMP 580 unsigned int 581 __cdecl 582 _set_output_format( 583 _In_ unsigned int _Format); 584 585 _Check_return_opt_ 586 _CRTIMP 587 unsigned int 588 __cdecl 589 _get_output_format(void); 590 591 _Check_return_opt_ 592 _CRTIMP 593 int 594 __cdecl 595 setvbuf( 596 _Inout_ FILE *_File, 597 _Inout_updates_opt_z_(_Size) char *_Buf, 598 _In_ int _Mode, 599 _In_ size_t _Size); 600 601 _Check_return_ 602 _CRTIMP 603 int 604 __cdecl 605 _scprintf( 606 _In_z_ _Printf_format_string_ const char *_Format, 607 ...); 608 609 _Check_return_ 610 _CRTIMP 611 _CRT_INSECURE_DEPRECATE_CORE(sscanf_s) 612 int 613 __cdecl 614 sscanf( 615 _In_z_ const char *_Src, 616 _In_z_ _Scanf_format_string_ const char *_Format, 617 ...); 618 619 _Check_return_opt_ 620 _CRTIMP 621 _CRT_INSECURE_DEPRECATE_CORE(_snscanf_s) 622 int 623 __cdecl 624 _snscanf( 625 _In_reads_bytes_(_MaxCount) _Pre_z_ const char *_Src, 626 _In_ size_t _MaxCount, 627 _In_z_ _Scanf_format_string_ const char *_Format, 628 ...); 629 630 _Check_return_ 631 _CRTIMP 632 _CRT_INSECURE_DEPRECATE(tmpfile_s) 633 FILE* 634 __cdecl 635 tmpfile(void); 636 637 _CRTIMP 638 char* 639 __cdecl 640 tmpnam( 641 _Pre_maybenull_ _Post_z_ char *_Buffer); 642 643 _Check_return_opt_ 644 _CRTIMP_ALT 645 int 646 __cdecl 647 ungetc( 648 _In_ int _Ch, 649 _Inout_ FILE *_File); 650 651 _Check_return_opt_ 652 _CRTIMP 653 int 654 __cdecl 655 vfprintf( 656 _Inout_ FILE *_File, 657 _In_z_ _Printf_format_string_ const char *_Format, 658 va_list _ArgList); 659 660 _Check_return_opt_ 661 _CRTIMP 662 int 663 __cdecl 664 vprintf( 665 _In_z_ _Printf_format_string_ const char *_Format, 666 va_list _ArgList); 667 668 /* Make sure macros are not defined. */ 669#if __MINGW_GNUC_PREREQ(4,4) 670#pragma push_macro("vsnprintf") 671#pragma push_macro("snprintf") 672#endif 673 #undef vsnprintf 674 #undef snprintf 675 676 _Check_return_opt_ 677 _CRTIMP 678 _CRT_INSECURE_DEPRECATE(vsnprintf_s) 679 int 680 __cdecl 681 vsnprintf( 682 _Out_writes_(_MaxCount) char *_DstBuf, 683 _In_ size_t _MaxCount, 684 _In_z_ _Printf_format_string_ const char *_Format, 685 va_list _ArgList); 686 687 _CRTIMP int __cdecl _snprintf(char *_Dest,size_t _Count,const char *_Format,...); 688 _CRTIMP int __cdecl _vsnprintf(char *_Dest,size_t _Count,const char *_Format,va_list _Args); 689 int __cdecl sprintf(char *_Dest,const char *_Format,...); 690 int __cdecl vsprintf(char *_Dest,const char *_Format,va_list _Args); 691 692#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ 693 int __cdecl snprintf(char* s, size_t n, const char* format, ...); 694 int __cdecl vscanf(const char * __restrict__ Format, va_list argp); 695 int __cdecl vfscanf (FILE * __restrict__ fp, const char * Format,va_list argp); 696 int __cdecl vsscanf (const char * __restrict__ _Str,const char * __restrict__ Format,va_list argp); 697#endif 698 699/* Restore may prior defined macros snprintf/vsnprintf. */ 700#if __MINGW_GNUC_PREREQ(4,4) 701#pragma pop_macro("snprintf") 702#pragma pop_macro("vsnprintf") 703#endif 704 705#ifndef vsnprintf 706 #define vsnprintf _vsnprintf 707#endif 708#ifndef snprintf 709 #define snprintf _snprintf 710#endif 711 712 _Check_return_ 713 _CRTIMP 714 int 715 __cdecl 716 _vscprintf( 717 _In_z_ _Printf_format_string_ const char *_Format, 718 va_list _ArgList); 719 720#ifdef _SAFECRT_IMPL 721#define _set_printf_count_output(i) 722#define _get_printf_count_output() (FALSE) 723#else 724 _CRTIMP int __cdecl _set_printf_count_output(_In_ int _Value); 725 _CRTIMP int __cdecl _get_printf_count_output(void); 726#endif 727 728#ifndef _WSTDIO_DEFINED 729 730#ifndef WEOF 731#define WEOF (wint_t)(0xFFFF) 732#endif 733 734#ifdef _POSIX_ 735 _CRTIMP 736 FILE* 737 __cdecl 738 _wfsopen( 739 const wchar_t *_Filename, 740 const wchar_t *_Mode); 741#else 742 _Check_return_ 743 _CRTIMP 744 FILE* 745 __cdecl 746 _wfsopen( 747 _In_z_ const wchar_t *_Filename, 748 _In_z_ const wchar_t *_Mode, 749 _In_ int _ShFlag); 750#endif 751 752 _Check_return_opt_ 753 _CRTIMP 754 wint_t 755 __cdecl 756 fgetwc( 757 _Inout_ FILE *_File); 758 759 _Check_return_opt_ 760 _CRTIMP 761 wint_t 762 __cdecl 763 _fgetwchar(void); 764 765 _Check_return_opt_ 766 _CRTIMP 767 wint_t 768 __cdecl 769 fputwc( 770 _In_ wchar_t _Ch, 771 _Inout_ FILE *_File); 772 773 _Check_return_opt_ 774 _CRTIMP 775 wint_t 776 __cdecl 777 _fputwchar( 778 _In_ wchar_t _Ch); 779 780 _Check_return_ 781 _CRTIMP 782 wint_t 783 __cdecl 784 getwc( 785 _Inout_ FILE *_File); 786 787 _Check_return_ 788 _CRTIMP 789 wint_t 790 __cdecl 791 getwchar(void); 792 793 _Check_return_opt_ 794 _CRTIMP 795 wint_t 796 __cdecl 797 putwc( 798 _In_ wchar_t _Ch, 799 _Inout_ FILE *_File); 800 801 _Check_return_opt_ 802 _CRTIMP 803 wint_t 804 __cdecl 805 putwchar( 806 _In_ wchar_t _Ch); 807 808 _Check_return_opt_ 809 _CRTIMP 810 wint_t 811 __cdecl 812 ungetwc( 813 _In_ wint_t _Ch, 814 _Inout_ FILE *_File); 815 816 _Check_return_opt_ 817 _CRTIMP 818 wchar_t* 819 __cdecl 820 fgetws( 821 _Out_writes_z_(_SizeInWords) wchar_t *_Dst, 822 _In_ int _SizeInWords, 823 _Inout_ FILE *_File); 824 825 _Check_return_opt_ 826 _CRTIMP 827 int 828 __cdecl 829 fputws( 830 _In_z_ const wchar_t *_Str, 831 _Inout_ FILE *_File); 832 833 _CRTIMP 834 wchar_t* 835 __cdecl 836 _getws( 837 wchar_t *_String); 838 839 _Check_return_opt_ 840 _CRTIMP 841 int 842 __cdecl 843 _putws( 844 _In_z_ const wchar_t *_Str); 845 846 _Check_return_opt_ 847 _CRTIMP 848 int 849 __cdecl 850 fwprintf( 851 _Inout_ FILE *_File, 852 _In_z_ _Printf_format_string_ const wchar_t *_Format, 853 ...); 854 855 _Check_return_opt_ 856 _CRTIMP 857 int 858 __cdecl 859 wprintf( 860 _In_z_ _Printf_format_string_ const wchar_t *_Format, 861 ...); 862 863 _Check_return_ 864 _CRTIMP 865 int 866 __cdecl 867 _scwprintf( 868 _In_z_ _Printf_format_string_ const wchar_t *_Format, 869 ...); 870 871 _Check_return_opt_ 872 _CRTIMP 873 int 874 __cdecl 875 vfwprintf( 876 _Inout_ FILE *_File, 877 _In_z_ _Printf_format_string_ const wchar_t *_Format, 878 va_list _ArgList); 879 880 _Check_return_opt_ 881 _CRTIMP 882 int 883 __cdecl 884 vwprintf( 885 _In_z_ _Printf_format_string_ const wchar_t *_Format, 886 va_list _ArgList); 887 888#if defined __cplusplus || defined _CRT_NON_CONFORMING_SWPRINTFS 889 _Check_return_opt_ 890 _CRTIMP 891 int 892 __cdecl 893 swprintf( 894 _Out_ wchar_t*, 895 _Printf_format_string_ const wchar_t*, 896 ...); 897 898 _CRTIMP 899 int 900 __cdecl 901 vswprintf( 902 _Out_ wchar_t*, 903 const wchar_t*, 904 va_list); 905#endif 906 907 _Check_return_opt_ 908 _CRTIMP 909 int 910 __cdecl 911 _swprintf_c( 912 _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, 913 _In_ size_t _SizeInWords, 914 _In_z_ _Printf_format_string_ const wchar_t *_Format, 915 ...); 916 917 _Check_return_opt_ 918 _CRTIMP 919 int 920 __cdecl 921 _vswprintf_c( 922 _Out_writes_z_(_SizeInWords) wchar_t *_DstBuf, 923 _In_ size_t _SizeInWords, 924 _In_z_ _Printf_format_string_ const wchar_t *_Format, 925 va_list _ArgList); 926 927 _CRTIMP int __cdecl _snwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,...); 928 _CRTIMP int __cdecl _vsnwprintf(wchar_t *_Dest,size_t _Count,const wchar_t *_Format,va_list _Args); 929#ifndef __NO_ISOCEXT /* externs in libmingwex.a */ 930 _CRTIMP int __cdecl snwprintf (wchar_t* s, size_t n, const wchar_t* format, ...); 931 __CRT_INLINE int __cdecl vsnwprintf (wchar_t* s, size_t n, const wchar_t* format, va_list arg) 932 { 933#ifdef _MSC_VER 934#pragma warning(push) 935#pragma warning(disable:28719) /* disable banned api usage warning */ 936#endif /* _MSC_VER */ 937 return _vsnwprintf(s,n,format,arg); 938#ifdef _MSC_VER 939#pragma warning(pop) 940#endif /* _MSC_VER */ 941 } 942 _CRTIMP int __cdecl vwscanf (const wchar_t *, va_list); 943 _CRTIMP int __cdecl vfwscanf (FILE *,const wchar_t *,va_list); 944 _CRTIMP int __cdecl vswscanf (const wchar_t *,const wchar_t *,va_list); 945#endif 946 _CRTIMP int __cdecl _swprintf(wchar_t *_Dest,const wchar_t *_Format,...); 947 _CRTIMP int __cdecl _vswprintf(wchar_t *_Dest,const wchar_t *_Format,va_list _Args); 948 949#ifndef RC_INVOKED 950#include <vadefs.h> 951#endif 952 953#ifndef _CRT_NON_CONFORMING_SWPRINTFS 954 _Check_return_opt_ 955 static inline 956 int 957 __cdecl 958 swprintf( 959 _Out_writes_z_(_SizeInWords) wchar_t* _DstBuf, 960 _In_ size_t _SizeInWords, 961 _In_z_ _Printf_format_string_ const wchar_t* _Format, 962 ...) 963 { 964 int ret; 965 va_list args; 966 967 va_start(args, _Format); 968 ret = _vsnwprintf(_DstBuf, _SizeInWords, _Format, args); 969 va_end(args); 970 return ret; 971 } 972 973 _Check_return_opt_ 974 static inline 975 int 976 __cdecl 977 vswprintf( 978 _Out_writes_z_(_SizeInWords) wchar_t* _DstBuf, 979 _In_ size_t _SizeInWords, 980 _In_z_ _Printf_format_string_ const wchar_t* _Format, 981 va_list _ArgList) 982 { 983 return _vsnwprintf(_DstBuf, _SizeInWords, _Format, _ArgList); 984 } 985#endif 986 987 _Check_return_ 988 _CRTIMP 989 wchar_t* 990 __cdecl 991 _wtempnam( 992 _In_opt_z_ const wchar_t *_Directory, 993 _In_opt_z_ const wchar_t *_FilePrefix); 994 995 _Check_return_ 996 _CRTIMP 997 int 998 __cdecl 999 _vscwprintf( 1000 _In_z_ _Printf_format_string_ const wchar_t *_Format, 1001 va_list _ArgList); 1002 1003 _Check_return_ 1004 _CRTIMP 1005 int 1006 __cdecl 1007 fwscanf( 1008 _Inout_ FILE *_File, 1009 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1010 ...); 1011 1012 _Check_return_ 1013 _CRTIMP 1014 int 1015 __cdecl 1016 swscanf( 1017 _In_z_ const wchar_t *_Src, 1018 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1019 ...); 1020 1021 _Check_return_opt_ 1022 _CRTIMP 1023 int 1024 __cdecl 1025 _snwscanf( 1026 _In_reads_(_MaxCount) _Pre_z_ const wchar_t *_Src, 1027 _In_ size_t _MaxCount, 1028 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1029 ...); 1030 1031 _Check_return_ 1032 _CRTIMP 1033 int 1034 __cdecl 1035 wscanf( 1036 _In_z_ _Scanf_format_string_ const wchar_t *_Format, 1037 ...); 1038 1039 _Check_return_ 1040 _CRTIMP 1041 FILE* 1042 __cdecl 1043 _wfdopen( 1044 _In_ int _FileHandle, 1045 _In_z_ const wchar_t *_Mode); 1046 1047 _Check_return_ 1048 _CRTIMP 1049 FILE* 1050 __cdecl 1051 _wfopen( 1052 _In_z_ const wchar_t *_Filename, 1053 _In_z_ const wchar_t *_Mode); 1054 1055 _Check_return_ 1056 _CRTIMP 1057 FILE* 1058 __cdecl 1059 _wfreopen( 1060 _In_z_ const wchar_t *_Filename, 1061 _In_z_ const wchar_t *_Mode, 1062 _Inout_ FILE *_OldFile); 1063 1064#ifndef _CRT_WPERROR_DEFINED 1065#define _CRT_WPERROR_DEFINED 1066 _CRTIMP 1067 void 1068 __cdecl 1069 _wperror( 1070 _In_opt_z_ const wchar_t *_ErrMsg); 1071#endif 1072 1073 _Check_return_ 1074 _CRTIMP 1075 FILE* 1076 __cdecl 1077 _wpopen( 1078 _In_z_ const wchar_t *_Command, 1079 _In_z_ const wchar_t *_Mode); 1080 1081#if !defined(NO_OLDNAMES) && !defined(wpopen) 1082#define wpopen _wpopen 1083#endif 1084 1085 _Check_return_ 1086 _CRTIMP 1087 int 1088 __cdecl 1089 _wremove( 1090 _In_z_ const wchar_t *_Filename); 1091 1092 _CRTIMP 1093 wchar_t* 1094 __cdecl 1095 _wtmpnam( 1096 _Pre_maybenull_ _Post_z_ wchar_t *_Buffer); 1097 1098 _Check_return_opt_ 1099 _CRTIMP 1100 wint_t 1101 __cdecl 1102 _fgetwc_nolock( 1103 _Inout_ FILE *_File); 1104 1105 _Check_return_opt_ 1106 _CRTIMP 1107 wint_t 1108 __cdecl 1109 _fputwc_nolock( 1110 _In_ wchar_t _Ch, 1111 _Inout_ FILE *_File); 1112 1113 _Check_return_opt_ 1114 _CRTIMP 1115 wint_t 1116 __cdecl 1117 _ungetwc_nolock( 1118 _In_ wint_t _Ch, 1119 _Inout_ FILE *_File); 1120 1121#undef _CRT_GETPUTWCHAR_NOINLINE 1122 1123#if !defined(__cplusplus) || defined(_CRT_GETPUTWCHAR_NOINLINE) 1124#define getwchar() fgetwc(stdin) 1125#define putwchar(_c) fputwc((_c),stdout) 1126#else 1127 __CRT_INLINE wint_t __cdecl getwchar() { return (fgetwc(stdin)); } 1128 __CRT_INLINE wint_t __cdecl putwchar(wchar_t _C) { return (fputwc(_C,stdout)); } 1129#endif 1130 1131#define getwc(_stm) fgetwc(_stm) 1132#define putwc(_c,_stm) fputwc(_c,_stm) 1133#define _putwc_nolock(_c,_stm) _fputwc_nolock(_c,_stm) 1134#define _getwc_nolock(_stm) _fgetwc_nolock(_stm) 1135 1136#define _WSTDIO_DEFINED 1137#endif 1138 1139#define _STDIO_DEFINED 1140#endif 1141 1142#define _fgetc_nolock(_stream) (--(_stream)->_cnt >= 0 ? 0xff & *(_stream)->_ptr++ : _filbuf(_stream)) 1143#define _fputc_nolock(_c,_stream) (--(_stream)->_cnt >= 0 ? 0xff & (*(_stream)->_ptr++ = (char)(_c)) : _flsbuf((_c),(_stream))) 1144#define _getc_nolock(_stream) _fgetc_nolock(_stream) 1145#define _putc_nolock(_c,_stream) _fputc_nolock(_c,_stream) 1146#define _getchar_nolock() _getc_nolock(stdin) 1147#define _putchar_nolock(_c) _putc_nolock((_c),stdout) 1148#define _getwchar_nolock() _getwc_nolock(stdin) 1149#define _putwchar_nolock(_c) _putwc_nolock((_c),stdout) 1150 1151 _CRTIMP 1152 void 1153 __cdecl 1154 _lock_file( 1155 _Inout_ FILE *_File); 1156 1157 _CRTIMP 1158 void 1159 __cdecl 1160 _unlock_file( 1161 _Inout_ FILE *_File); 1162 1163 _Check_return_opt_ 1164 _CRTIMP 1165 int 1166 __cdecl 1167 _fclose_nolock( 1168 _Inout_ FILE *_File); 1169 1170 _Check_return_opt_ 1171 _CRTIMP 1172 int 1173 __cdecl 1174 _fflush_nolock( 1175 _Inout_opt_ FILE *_File); 1176 1177 _Check_return_opt_ 1178 _CRTIMP 1179 size_t 1180 __cdecl 1181 _fread_nolock( 1182 _Out_writes_bytes_(_ElementSize * _Count) void *_DstBuf, 1183 _In_ size_t _ElementSize, 1184 _In_ size_t _Count, 1185 _Inout_ FILE *_File); 1186 1187 _Check_return_opt_ 1188 _CRTIMP 1189 int 1190 __cdecl 1191 _fseek_nolock( 1192 _Inout_ FILE *_File, 1193 _In_ long _Offset, 1194 _In_ int _Origin); 1195 1196 _Check_return_ 1197 _CRTIMP 1198 long 1199 __cdecl 1200 _ftell_nolock( 1201 _Inout_ FILE *_File); 1202 1203 _Check_return_opt_ 1204 __MINGW_EXTENSION 1205 _CRTIMP 1206 int 1207 __cdecl 1208 _fseeki64_nolock( 1209 _Inout_ FILE *_File, 1210 _In_ __int64 _Offset, 1211 _In_ int _Origin); 1212 1213 __MINGW_EXTENSION 1214 _Check_return_ 1215 _CRTIMP 1216 __int64 1217 __cdecl 1218 _ftelli64_nolock( 1219 _Inout_ FILE *_File); 1220 1221 _Check_return_opt_ 1222 _CRTIMP 1223 size_t 1224 __cdecl 1225 _fwrite_nolock( 1226 _In_reads_bytes_(_Size * _Count) const void *_DstBuf, 1227 _In_ size_t _Size, 1228 _In_ size_t _Count, 1229 _Inout_ FILE *_File); 1230 1231 _Check_return_opt_ 1232 _CRTIMP 1233 int 1234 __cdecl 1235 _ungetc_nolock( 1236 _In_ int _Ch, 1237 _Inout_ FILE *_File); 1238 1239#if !defined(NO_OLDNAMES) || !defined(_POSIX) 1240 1241#define P_tmpdir _P_tmpdir 1242#define SYS_OPEN _SYS_OPEN 1243 1244 _CRTIMP 1245 char* 1246 __cdecl 1247 tempnam( 1248 _In_opt_z_ const char *_Directory, 1249 _In_opt_z_ const char *_FilePrefix); 1250 1251 _Check_return_opt_ 1252 _CRTIMP 1253 int 1254 __cdecl 1255 fcloseall(void); 1256 1257 _Check_return_ 1258 _CRTIMP 1259 FILE* 1260 __cdecl 1261 fdopen( 1262 _In_ int _FileHandle, 1263 _In_z_ const char *_Format); 1264 1265 _Check_return_opt_ 1266 _CRTIMP 1267 int 1268 __cdecl 1269 fgetchar(void); 1270 1271 _Check_return_ 1272 _CRTIMP 1273 int 1274 __cdecl 1275 fileno( 1276 _In_ FILE *_File); 1277 1278 _Check_return_opt_ 1279 _CRTIMP 1280 int 1281 __cdecl 1282 flushall(void); 1283 1284 _Check_return_opt_ 1285 _CRTIMP 1286 int 1287 __cdecl 1288 fputchar( 1289 _In_ int _Ch); 1290 1291 _Check_return_ 1292 _CRTIMP 1293 int 1294 __cdecl 1295 getw( 1296 _Inout_ FILE *_File); 1297 1298 _Check_return_opt_ 1299 _CRTIMP 1300 int 1301 __cdecl 1302 putw( 1303 _In_ int _Ch, 1304 _Inout_ FILE *_File); 1305 1306 _Check_return_ 1307 _CRTIMP 1308 int 1309 __cdecl 1310 rmtmp(void); 1311 1312#endif /* !defined(NO_OLDNAMES) || !defined(_POSIX) */ 1313 1314#ifdef __cplusplus 1315} 1316#endif 1317 1318#pragma pack(pop) 1319 1320#include <sec_api/stdio_s.h> 1321 1322#endif