| #ifndef SYSROOT_STDIO_H_ |
| #define SYSROOT_STDIO_H_ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| #include <features.h> |
| |
| #define __printflike(__fmt, __varargs) __attribute__((__format__(__printf__, __fmt, __varargs))) |
| #define __scanflike(__fmt, __varargs) __attribute__((__format__(__scanf__, __fmt, __varargs))) |
| |
| #define __NEED_FILE |
| #define __NEED___isoc_va_list |
| #define __NEED_size_t |
| |
| #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ |
| defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| #define __NEED_ssize_t |
| #define __NEED_off_t |
| #define __NEED_va_list |
| #endif |
| |
| #include <bits/alltypes.h> |
| #include <bits/null.h> |
| |
| #undef EOF |
| #define EOF (-1) |
| |
| #undef SEEK_SET |
| #undef SEEK_CUR |
| #undef SEEK_END |
| #define SEEK_SET 0 |
| #define SEEK_CUR 1 |
| #define SEEK_END 2 |
| |
| #define _IOFBF 0 |
| #define _IOLBF 1 |
| #define _IONBF 2 |
| |
| #define BUFSIZ 1024 |
| #define FILENAME_MAX 4096 |
| #define FOPEN_MAX 1000 |
| #define TMP_MAX 10000 |
| #define L_tmpnam 20 |
| |
| typedef union _G_fpos64_t { |
| char __opaque[16]; |
| double __align; |
| } fpos_t; |
| |
| extern FILE* const stdin; |
| extern FILE* const stdout; |
| extern FILE* const stderr; |
| |
| #define stdin (stdin) |
| #define stdout (stdout) |
| #define stderr (stderr) |
| |
| FILE* fopen(const char* __restrict, const char* __restrict); |
| FILE* freopen(const char* __restrict, const char* __restrict, FILE* __restrict); |
| int fclose(FILE*); |
| |
| int remove(const char*); |
| int rename(const char*, const char*); |
| |
| int feof(FILE*); |
| int ferror(FILE*); |
| int fflush(FILE*); |
| void clearerr(FILE*); |
| |
| int fseek(FILE*, long, int); |
| long ftell(FILE*); |
| void rewind(FILE*); |
| |
| int fgetpos(FILE* __restrict, fpos_t* __restrict); |
| int fsetpos(FILE*, const fpos_t*); |
| |
| size_t fread(void* __restrict, size_t, size_t, FILE* __restrict); |
| size_t fwrite(const void* __restrict, size_t, size_t, FILE* __restrict); |
| |
| int fgetc(FILE*); |
| int getc(FILE*); |
| int getchar(void); |
| int ungetc(int, FILE*); |
| |
| int fputc(int, FILE*); |
| int putc(int, FILE*); |
| int putchar(int); |
| |
| char* fgets(char* __restrict, int, FILE* __restrict); |
| #if __STDC_VERSION__ < 201112L |
| char* gets(char*); |
| #endif |
| |
| int fputs(const char* __restrict, FILE* __restrict); |
| int puts(const char*); |
| |
| int printf(const char* __restrict, ...) __printflike(1, 2); |
| int fprintf(FILE* __restrict, const char* __restrict, ...) __printflike(2, 3); |
| int sprintf(char* __restrict, const char* __restrict, ...) __printflike(2, 3); |
| int snprintf(char* __restrict, size_t, const char* __restrict, ...) __printflike(3, 4); |
| |
| int vprintf(const char* __restrict, __isoc_va_list) __printflike(1, 0); |
| int vfprintf(FILE* __restrict, const char* __restrict, __isoc_va_list) __printflike(2, 0); |
| int vsprintf(char* __restrict, const char* __restrict, __isoc_va_list) __printflike(2, 0); |
| int vsnprintf(char* __restrict, size_t, const char* __restrict, __isoc_va_list) __printflike(3, 0); |
| |
| int scanf(const char* __restrict, ...) __scanflike(1, 2); |
| int fscanf(FILE* __restrict, const char* __restrict, ...) __scanflike(2, 3); |
| int sscanf(const char* __restrict, const char* __restrict, ...) __scanflike(2, 3); |
| int vscanf(const char* __restrict, __isoc_va_list) __scanflike(1, 0); |
| int vfscanf(FILE* __restrict, const char* __restrict, __isoc_va_list) __scanflike(2, 0); |
| int vsscanf(const char* __restrict, const char* __restrict, __isoc_va_list) __scanflike(2, 0); |
| |
| void perror(const char*); |
| |
| int setvbuf(FILE* __restrict, char* __restrict, int, size_t); |
| void setbuf(FILE* __restrict, char* __restrict); |
| |
| char* tmpnam(char*); |
| FILE* tmpfile(void); |
| |
| #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) || \ |
| defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| FILE* fmemopen(void* __restrict, size_t, const char* __restrict); |
| FILE* open_memstream(char**, size_t*); |
| FILE* fdopen(int, const char*); |
| FILE* popen(const char*, const char*); |
| int pclose(FILE*); |
| int fileno(FILE*); |
| int fseeko(FILE*, off_t, int); |
| off_t ftello(FILE*); |
| int dprintf(int, const char* __restrict, ...) __printflike(2, 3); |
| int vdprintf(int, const char* __restrict, __isoc_va_list) __printflike(2, 0); |
| void flockfile(FILE*); |
| int ftrylockfile(FILE*); |
| void funlockfile(FILE*); |
| int getc_unlocked(FILE*); |
| int getchar_unlocked(void); |
| int putc_unlocked(int, FILE*); |
| int putchar_unlocked(int); |
| ssize_t getdelim(char** __restrict, size_t* __restrict, int, FILE* __restrict); |
| ssize_t getline(char** __restrict, size_t* __restrict, FILE* __restrict); |
| int renameat(int, const char*, int, const char*); |
| char* ctermid(char*); |
| #define L_ctermid 20 |
| #endif |
| |
| #if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| #define P_tmpdir "/tmp" |
| char* tempnam(const char*, const char*); |
| #endif |
| |
| #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) |
| #define L_cuserid 20 |
| char* cuserid(char*); |
| void setlinebuf(FILE*); |
| void setbuffer(FILE*, char*, size_t); |
| int fgetc_unlocked(FILE*); |
| int fputc_unlocked(int, FILE*); |
| int fflush_unlocked(FILE*); |
| size_t fread_unlocked(void*, size_t, size_t, FILE*); |
| size_t fwrite_unlocked(const void*, size_t, size_t, FILE*); |
| void clearerr_unlocked(FILE*); |
| int feof_unlocked(FILE*); |
| int ferror_unlocked(FILE*); |
| int fileno_unlocked(FILE*); |
| int getw(FILE*); |
| int putw(int, FILE*); |
| char* fgetln(FILE*, size_t*); |
| int asprintf(char**, const char*, ...) __printflike(2, 3); |
| int vasprintf(char**, const char*, __isoc_va_list) __printflike(2, 0); |
| #endif |
| |
| #ifdef _GNU_SOURCE |
| char* fgets_unlocked(char*, int, FILE*); |
| int fputs_unlocked(const char*, FILE*); |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif // SYSROOT_STDIO_H_ |