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