1*4d6fc14bSjoerg// -*- C++ -*- 2*4d6fc14bSjoerg//===---------------------------- cstdio ----------------------------------===// 3*4d6fc14bSjoerg// 4*4d6fc14bSjoerg// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5*4d6fc14bSjoerg// See https://llvm.org/LICENSE.txt for license information. 6*4d6fc14bSjoerg// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7*4d6fc14bSjoerg// 8*4d6fc14bSjoerg//===----------------------------------------------------------------------===// 9*4d6fc14bSjoerg 10*4d6fc14bSjoerg#ifndef _LIBCPP_CSTDIO 11*4d6fc14bSjoerg#define _LIBCPP_CSTDIO 12*4d6fc14bSjoerg 13*4d6fc14bSjoerg/* 14*4d6fc14bSjoerg cstdio synopsis 15*4d6fc14bSjoerg 16*4d6fc14bSjoergMacros: 17*4d6fc14bSjoerg 18*4d6fc14bSjoerg BUFSIZ 19*4d6fc14bSjoerg EOF 20*4d6fc14bSjoerg FILENAME_MAX 21*4d6fc14bSjoerg FOPEN_MAX 22*4d6fc14bSjoerg L_tmpnam 23*4d6fc14bSjoerg NULL 24*4d6fc14bSjoerg SEEK_CUR 25*4d6fc14bSjoerg SEEK_END 26*4d6fc14bSjoerg SEEK_SET 27*4d6fc14bSjoerg TMP_MAX 28*4d6fc14bSjoerg _IOFBF 29*4d6fc14bSjoerg _IOLBF 30*4d6fc14bSjoerg _IONBF 31*4d6fc14bSjoerg stderr 32*4d6fc14bSjoerg stdin 33*4d6fc14bSjoerg stdout 34*4d6fc14bSjoerg 35*4d6fc14bSjoergnamespace std 36*4d6fc14bSjoerg{ 37*4d6fc14bSjoerg 38*4d6fc14bSjoergTypes: 39*4d6fc14bSjoerg 40*4d6fc14bSjoergFILE 41*4d6fc14bSjoergfpos_t 42*4d6fc14bSjoergsize_t 43*4d6fc14bSjoerg 44*4d6fc14bSjoergint remove(const char* filename); 45*4d6fc14bSjoergint rename(const char* old, const char* new); 46*4d6fc14bSjoergFILE* tmpfile(void); 47*4d6fc14bSjoergchar* tmpnam(char* s); 48*4d6fc14bSjoergint fclose(FILE* stream); 49*4d6fc14bSjoergint fflush(FILE* stream); 50*4d6fc14bSjoergFILE* fopen(const char* restrict filename, const char* restrict mode); 51*4d6fc14bSjoergFILE* freopen(const char* restrict filename, const char * restrict mode, 52*4d6fc14bSjoerg FILE * restrict stream); 53*4d6fc14bSjoergvoid setbuf(FILE* restrict stream, char* restrict buf); 54*4d6fc14bSjoergint setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size); 55*4d6fc14bSjoergint fprintf(FILE* restrict stream, const char* restrict format, ...); 56*4d6fc14bSjoergint fscanf(FILE* restrict stream, const char * restrict format, ...); 57*4d6fc14bSjoergint printf(const char* restrict format, ...); 58*4d6fc14bSjoergint scanf(const char* restrict format, ...); 59*4d6fc14bSjoergint snprintf(char* restrict s, size_t n, const char* restrict format, ...); // C99 60*4d6fc14bSjoergint sprintf(char* restrict s, const char* restrict format, ...); 61*4d6fc14bSjoergint sscanf(const char* restrict s, const char* restrict format, ...); 62*4d6fc14bSjoergint vfprintf(FILE* restrict stream, const char* restrict format, va_list arg); 63*4d6fc14bSjoergint vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); // C99 64*4d6fc14bSjoergint vprintf(const char* restrict format, va_list arg); 65*4d6fc14bSjoergint vscanf(const char* restrict format, va_list arg); // C99 66*4d6fc14bSjoergint vsnprintf(char* restrict s, size_t n, const char* restrict format, // C99 67*4d6fc14bSjoerg va_list arg); 68*4d6fc14bSjoergint vsprintf(char* restrict s, const char* restrict format, va_list arg); 69*4d6fc14bSjoergint vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99 70*4d6fc14bSjoergint fgetc(FILE* stream); 71*4d6fc14bSjoergchar* fgets(char* restrict s, int n, FILE* restrict stream); 72*4d6fc14bSjoergint fputc(int c, FILE* stream); 73*4d6fc14bSjoergint fputs(const char* restrict s, FILE* restrict stream); 74*4d6fc14bSjoergint getc(FILE* stream); 75*4d6fc14bSjoergint getchar(void); 76*4d6fc14bSjoergchar* gets(char* s); // removed in C++14 77*4d6fc14bSjoergint putc(int c, FILE* stream); 78*4d6fc14bSjoergint putchar(int c); 79*4d6fc14bSjoergint puts(const char* s); 80*4d6fc14bSjoergint ungetc(int c, FILE* stream); 81*4d6fc14bSjoergsize_t fread(void* restrict ptr, size_t size, size_t nmemb, 82*4d6fc14bSjoerg FILE* restrict stream); 83*4d6fc14bSjoergsize_t fwrite(const void* restrict ptr, size_t size, size_t nmemb, 84*4d6fc14bSjoerg FILE* restrict stream); 85*4d6fc14bSjoergint fgetpos(FILE* restrict stream, fpos_t* restrict pos); 86*4d6fc14bSjoergint fseek(FILE* stream, long offset, int whence); 87*4d6fc14bSjoergint fsetpos(FILE*stream, const fpos_t* pos); 88*4d6fc14bSjoerglong ftell(FILE* stream); 89*4d6fc14bSjoergvoid rewind(FILE* stream); 90*4d6fc14bSjoergvoid clearerr(FILE* stream); 91*4d6fc14bSjoergint feof(FILE* stream); 92*4d6fc14bSjoergint ferror(FILE* stream); 93*4d6fc14bSjoergvoid perror(const char* s); 94*4d6fc14bSjoerg 95*4d6fc14bSjoerg} // std 96*4d6fc14bSjoerg*/ 97*4d6fc14bSjoerg 98*4d6fc14bSjoerg#include <__config> 99*4d6fc14bSjoerg#include <stdio.h> 100*4d6fc14bSjoerg 101*4d6fc14bSjoerg#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 102*4d6fc14bSjoerg#pragma GCC system_header 103*4d6fc14bSjoerg#endif 104*4d6fc14bSjoerg 105*4d6fc14bSjoerg_LIBCPP_BEGIN_NAMESPACE_STD 106*4d6fc14bSjoerg 107*4d6fc14bSjoergusing ::FILE; 108*4d6fc14bSjoergusing ::fpos_t; 109*4d6fc14bSjoergusing ::size_t; 110*4d6fc14bSjoerg 111*4d6fc14bSjoergusing ::fclose; 112*4d6fc14bSjoergusing ::fflush; 113*4d6fc14bSjoergusing ::setbuf; 114*4d6fc14bSjoergusing ::setvbuf; 115*4d6fc14bSjoergusing ::fprintf; 116*4d6fc14bSjoergusing ::fscanf; 117*4d6fc14bSjoergusing ::snprintf; 118*4d6fc14bSjoergusing ::sprintf; 119*4d6fc14bSjoergusing ::sscanf; 120*4d6fc14bSjoergusing ::vfprintf; 121*4d6fc14bSjoergusing ::vfscanf; 122*4d6fc14bSjoergusing ::vsscanf; 123*4d6fc14bSjoergusing ::vsnprintf; 124*4d6fc14bSjoergusing ::vsprintf; 125*4d6fc14bSjoergusing ::fgetc; 126*4d6fc14bSjoergusing ::fgets; 127*4d6fc14bSjoergusing ::fputc; 128*4d6fc14bSjoergusing ::fputs; 129*4d6fc14bSjoergusing ::getc; 130*4d6fc14bSjoergusing ::putc; 131*4d6fc14bSjoergusing ::ungetc; 132*4d6fc14bSjoergusing ::fread; 133*4d6fc14bSjoergusing ::fwrite; 134*4d6fc14bSjoerg#ifndef _LIBCPP_HAS_NO_FGETPOS_FSETPOS 135*4d6fc14bSjoergusing ::fgetpos; 136*4d6fc14bSjoerg#endif 137*4d6fc14bSjoergusing ::fseek; 138*4d6fc14bSjoerg#ifndef _LIBCPP_HAS_NO_FGETPOS_FSETPOS 139*4d6fc14bSjoergusing ::fsetpos; 140*4d6fc14bSjoerg#endif 141*4d6fc14bSjoergusing ::ftell; 142*4d6fc14bSjoergusing ::rewind; 143*4d6fc14bSjoergusing ::clearerr; 144*4d6fc14bSjoergusing ::feof; 145*4d6fc14bSjoergusing ::ferror; 146*4d6fc14bSjoergusing ::perror; 147*4d6fc14bSjoerg 148*4d6fc14bSjoerg#ifndef _LIBCPP_HAS_NO_GLOBAL_FILESYSTEM_NAMESPACE 149*4d6fc14bSjoergusing ::fopen; 150*4d6fc14bSjoergusing ::freopen; 151*4d6fc14bSjoergusing ::remove; 152*4d6fc14bSjoergusing ::rename; 153*4d6fc14bSjoergusing ::tmpfile; 154*4d6fc14bSjoergusing ::tmpnam; 155*4d6fc14bSjoerg#endif 156*4d6fc14bSjoerg 157*4d6fc14bSjoerg#ifndef _LIBCPP_HAS_NO_STDIN 158*4d6fc14bSjoergusing ::getchar; 159*4d6fc14bSjoerg#if _LIBCPP_STD_VER <= 11 && !defined(_LIBCPP_C_HAS_NO_GETS) 160*4d6fc14bSjoergusing ::gets; 161*4d6fc14bSjoerg#endif 162*4d6fc14bSjoergusing ::scanf; 163*4d6fc14bSjoergusing ::vscanf; 164*4d6fc14bSjoerg#endif 165*4d6fc14bSjoerg 166*4d6fc14bSjoerg#ifndef _LIBCPP_HAS_NO_STDOUT 167*4d6fc14bSjoergusing ::printf; 168*4d6fc14bSjoergusing ::putchar; 169*4d6fc14bSjoergusing ::puts; 170*4d6fc14bSjoergusing ::vprintf; 171*4d6fc14bSjoerg#endif 172*4d6fc14bSjoerg 173*4d6fc14bSjoerg_LIBCPP_END_NAMESPACE_STD 174*4d6fc14bSjoerg 175*4d6fc14bSjoerg#endif // _LIBCPP_CSTDIO 176