1*58b9f456SAndroid Build Coastguard Worker // -*- C++ -*- 2*58b9f456SAndroid Build Coastguard Worker //===---------------------------- stdio.h ---------------------------------===// 3*58b9f456SAndroid Build Coastguard Worker // 4*58b9f456SAndroid Build Coastguard Worker // The LLVM Compiler Infrastructure 5*58b9f456SAndroid Build Coastguard Worker // 6*58b9f456SAndroid Build Coastguard Worker // This file is dual licensed under the MIT and the University of Illinois Open 7*58b9f456SAndroid Build Coastguard Worker // Source Licenses. See LICENSE.TXT for details. 8*58b9f456SAndroid Build Coastguard Worker // 9*58b9f456SAndroid Build Coastguard Worker //===----------------------------------------------------------------------===// 10*58b9f456SAndroid Build Coastguard Worker 11*58b9f456SAndroid Build Coastguard Worker #if defined(__need_FILE) || defined(__need___FILE) 12*58b9f456SAndroid Build Coastguard Worker 13*58b9f456SAndroid Build Coastguard Worker #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 14*58b9f456SAndroid Build Coastguard Worker #pragma GCC system_header 15*58b9f456SAndroid Build Coastguard Worker #endif 16*58b9f456SAndroid Build Coastguard Worker 17*58b9f456SAndroid Build Coastguard Worker #include_next <stdio.h> 18*58b9f456SAndroid Build Coastguard Worker 19*58b9f456SAndroid Build Coastguard Worker #elif !defined(_LIBCPP_STDIO_H) 20*58b9f456SAndroid Build Coastguard Worker #define _LIBCPP_STDIO_H 21*58b9f456SAndroid Build Coastguard Worker 22*58b9f456SAndroid Build Coastguard Worker /* 23*58b9f456SAndroid Build Coastguard Worker stdio.h synopsis 24*58b9f456SAndroid Build Coastguard Worker 25*58b9f456SAndroid Build Coastguard Worker Macros: 26*58b9f456SAndroid Build Coastguard Worker 27*58b9f456SAndroid Build Coastguard Worker BUFSIZ 28*58b9f456SAndroid Build Coastguard Worker EOF 29*58b9f456SAndroid Build Coastguard Worker FILENAME_MAX 30*58b9f456SAndroid Build Coastguard Worker FOPEN_MAX 31*58b9f456SAndroid Build Coastguard Worker L_tmpnam 32*58b9f456SAndroid Build Coastguard Worker NULL 33*58b9f456SAndroid Build Coastguard Worker SEEK_CUR 34*58b9f456SAndroid Build Coastguard Worker SEEK_END 35*58b9f456SAndroid Build Coastguard Worker SEEK_SET 36*58b9f456SAndroid Build Coastguard Worker TMP_MAX 37*58b9f456SAndroid Build Coastguard Worker _IOFBF 38*58b9f456SAndroid Build Coastguard Worker _IOLBF 39*58b9f456SAndroid Build Coastguard Worker _IONBF 40*58b9f456SAndroid Build Coastguard Worker stderr 41*58b9f456SAndroid Build Coastguard Worker stdin 42*58b9f456SAndroid Build Coastguard Worker stdout 43*58b9f456SAndroid Build Coastguard Worker 44*58b9f456SAndroid Build Coastguard Worker Types: 45*58b9f456SAndroid Build Coastguard Worker 46*58b9f456SAndroid Build Coastguard Worker FILE 47*58b9f456SAndroid Build Coastguard Worker fpos_t 48*58b9f456SAndroid Build Coastguard Worker size_t 49*58b9f456SAndroid Build Coastguard Worker 50*58b9f456SAndroid Build Coastguard Worker int remove(const char* filename); 51*58b9f456SAndroid Build Coastguard Worker int rename(const char* old, const char* new); 52*58b9f456SAndroid Build Coastguard Worker FILE* tmpfile(void); 53*58b9f456SAndroid Build Coastguard Worker char* tmpnam(char* s); 54*58b9f456SAndroid Build Coastguard Worker int fclose(FILE* stream); 55*58b9f456SAndroid Build Coastguard Worker int fflush(FILE* stream); 56*58b9f456SAndroid Build Coastguard Worker FILE* fopen(const char* restrict filename, const char* restrict mode); 57*58b9f456SAndroid Build Coastguard Worker FILE* freopen(const char* restrict filename, const char * restrict mode, 58*58b9f456SAndroid Build Coastguard Worker FILE * restrict stream); 59*58b9f456SAndroid Build Coastguard Worker void setbuf(FILE* restrict stream, char* restrict buf); 60*58b9f456SAndroid Build Coastguard Worker int setvbuf(FILE* restrict stream, char* restrict buf, int mode, size_t size); 61*58b9f456SAndroid Build Coastguard Worker int fprintf(FILE* restrict stream, const char* restrict format, ...); 62*58b9f456SAndroid Build Coastguard Worker int fscanf(FILE* restrict stream, const char * restrict format, ...); 63*58b9f456SAndroid Build Coastguard Worker int printf(const char* restrict format, ...); 64*58b9f456SAndroid Build Coastguard Worker int scanf(const char* restrict format, ...); 65*58b9f456SAndroid Build Coastguard Worker int snprintf(char* restrict s, size_t n, const char* restrict format, ...); // C99 66*58b9f456SAndroid Build Coastguard Worker int sprintf(char* restrict s, const char* restrict format, ...); 67*58b9f456SAndroid Build Coastguard Worker int sscanf(const char* restrict s, const char* restrict format, ...); 68*58b9f456SAndroid Build Coastguard Worker int vfprintf(FILE* restrict stream, const char* restrict format, va_list arg); 69*58b9f456SAndroid Build Coastguard Worker int vfscanf(FILE* restrict stream, const char* restrict format, va_list arg); // C99 70*58b9f456SAndroid Build Coastguard Worker int vprintf(const char* restrict format, va_list arg); 71*58b9f456SAndroid Build Coastguard Worker int vscanf(const char* restrict format, va_list arg); // C99 72*58b9f456SAndroid Build Coastguard Worker int vsnprintf(char* restrict s, size_t n, const char* restrict format, // C99 73*58b9f456SAndroid Build Coastguard Worker va_list arg); 74*58b9f456SAndroid Build Coastguard Worker int vsprintf(char* restrict s, const char* restrict format, va_list arg); 75*58b9f456SAndroid Build Coastguard Worker int vsscanf(const char* restrict s, const char* restrict format, va_list arg); // C99 76*58b9f456SAndroid Build Coastguard Worker int fgetc(FILE* stream); 77*58b9f456SAndroid Build Coastguard Worker char* fgets(char* restrict s, int n, FILE* restrict stream); 78*58b9f456SAndroid Build Coastguard Worker int fputc(int c, FILE* stream); 79*58b9f456SAndroid Build Coastguard Worker int fputs(const char* restrict s, FILE* restrict stream); 80*58b9f456SAndroid Build Coastguard Worker int getc(FILE* stream); 81*58b9f456SAndroid Build Coastguard Worker int getchar(void); 82*58b9f456SAndroid Build Coastguard Worker char* gets(char* s); // removed in C++14 83*58b9f456SAndroid Build Coastguard Worker int putc(int c, FILE* stream); 84*58b9f456SAndroid Build Coastguard Worker int putchar(int c); 85*58b9f456SAndroid Build Coastguard Worker int puts(const char* s); 86*58b9f456SAndroid Build Coastguard Worker int ungetc(int c, FILE* stream); 87*58b9f456SAndroid Build Coastguard Worker size_t fread(void* restrict ptr, size_t size, size_t nmemb, 88*58b9f456SAndroid Build Coastguard Worker FILE* restrict stream); 89*58b9f456SAndroid Build Coastguard Worker size_t fwrite(const void* restrict ptr, size_t size, size_t nmemb, 90*58b9f456SAndroid Build Coastguard Worker FILE* restrict stream); 91*58b9f456SAndroid Build Coastguard Worker int fgetpos(FILE* restrict stream, fpos_t* restrict pos); 92*58b9f456SAndroid Build Coastguard Worker int fseek(FILE* stream, long offset, int whence); 93*58b9f456SAndroid Build Coastguard Worker int fsetpos(FILE*stream, const fpos_t* pos); 94*58b9f456SAndroid Build Coastguard Worker long ftell(FILE* stream); 95*58b9f456SAndroid Build Coastguard Worker void rewind(FILE* stream); 96*58b9f456SAndroid Build Coastguard Worker void clearerr(FILE* stream); 97*58b9f456SAndroid Build Coastguard Worker int feof(FILE* stream); 98*58b9f456SAndroid Build Coastguard Worker int ferror(FILE* stream); 99*58b9f456SAndroid Build Coastguard Worker void perror(const char* s); 100*58b9f456SAndroid Build Coastguard Worker */ 101*58b9f456SAndroid Build Coastguard Worker 102*58b9f456SAndroid Build Coastguard Worker #include <__config> 103*58b9f456SAndroid Build Coastguard Worker 104*58b9f456SAndroid Build Coastguard Worker #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 105*58b9f456SAndroid Build Coastguard Worker #pragma GCC system_header 106*58b9f456SAndroid Build Coastguard Worker #endif 107*58b9f456SAndroid Build Coastguard Worker 108*58b9f456SAndroid Build Coastguard Worker #include_next <stdio.h> 109*58b9f456SAndroid Build Coastguard Worker 110*58b9f456SAndroid Build Coastguard Worker #ifdef __cplusplus 111*58b9f456SAndroid Build Coastguard Worker 112*58b9f456SAndroid Build Coastguard Worker #undef getc 113*58b9f456SAndroid Build Coastguard Worker #undef putc 114*58b9f456SAndroid Build Coastguard Worker #undef clearerr 115*58b9f456SAndroid Build Coastguard Worker #undef feof 116*58b9f456SAndroid Build Coastguard Worker #undef ferror 117*58b9f456SAndroid Build Coastguard Worker 118*58b9f456SAndroid Build Coastguard Worker #endif 119*58b9f456SAndroid Build Coastguard Worker 120*58b9f456SAndroid Build Coastguard Worker #endif // _LIBCPP_STDIO_H 121