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