xref: /aosp_15_r20/external/libcxx/include/stdio.h (revision 58b9f456b02922dfdb1fad8a988d5fd8765ecb80)
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