initial check-in, version 0.5.0
[musl] / include / stdio.h
1 #ifndef _STDIO_H
2 #define _STDIO_H
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #define __NEED_FILE
9 #define __NEED_va_list
10 #define __NEED_size_t
11 #define __NEED_ssize_t
12 #define __NEED_off_t
13
14 #include <bits/alltypes.h>
15
16 #undef NULL
17 #ifdef __cplusplus
18 #define NULL 0
19 #else
20 #define NULL ((void*)0)
21 #endif
22
23 #undef EOF
24 #define EOF (-1)
25
26 #undef SEEK_SET
27 #undef SEEK_CUR
28 #undef SEEK_END
29 #define SEEK_SET 0
30 #define SEEK_CUR 1
31 #define SEEK_END 2
32
33 #define _IOFBF 0
34 #define _IOLBF 1
35 #define _IONBF 2
36
37 #include <bits/stdio.h>
38
39 typedef union {
40         char __opaque[16];
41         double __align;
42 } fpos_t;
43
44 extern FILE *const stdin;
45 extern FILE *const stdout;
46 extern FILE *const stderr;
47
48 #define stdin  (stdin)
49 #define stdout (stdout)
50 #define stderr (stderr)
51
52 FILE *fopen(const char *, const char *);
53 FILE *fdopen(int, const char *);
54 FILE *freopen(const char *, const char *, FILE *);
55 int fclose(FILE *);
56
57 FILE *popen(const char *, const char *);
58 int pclose(FILE *);
59
60 int remove(const char *);
61 int rename(const char *, const char *);
62
63 int fileno(FILE *);
64 int feof(FILE *);
65 int ferror(FILE *);
66 int fflush(FILE *);
67 void clearerr(FILE *);
68
69 int fseek(FILE *, long, int);
70 int fseeko(FILE *, off_t, int);
71 long ftell(FILE *);
72 off_t ftello(FILE *);
73 void rewind(FILE *);
74
75 int fgetpos(FILE *, fpos_t *);
76 int fsetpos(FILE *, const fpos_t *);
77
78 size_t fread(void *, size_t, size_t, FILE *);
79 size_t fwrite(const void *, size_t, size_t, FILE *);
80
81 int fgetc(FILE *);
82 int getc(FILE *);
83 int getchar(void);
84 int ungetc(int, FILE *);
85
86 int fputc(int, FILE *);
87 int putc(int, FILE *);
88 int putchar(int);
89
90 char *fgets(char *, int, FILE *);
91 char *gets(char *);
92
93 int fputs(const char *, FILE *);
94 int puts(const char *);
95
96 int printf(const char *, ...);
97 int fprintf(FILE *, const char *, ...);
98 int sprintf(char *, const char *, ...);
99 int snprintf(char *, size_t, const char *, ...);
100
101 int vprintf(const char *, va_list);
102 int vfprintf(FILE *, const char *, va_list);
103 int vsprintf(char *, const char *, va_list);
104 int vsnprintf(char *, size_t, const char *, va_list);
105
106 int dprintf(int, const char *, ...);
107 int vdprintf(int, const char *, va_list);
108
109 int scanf(const char *, ...);
110 int fscanf(FILE *, const char *, ...);
111 int sscanf(const char *, const char *, ...);
112 int vscanf(const char *, va_list);
113 int vfscanf(FILE *, const char *, va_list);
114 int vsscanf(const char *, const char *, va_list);
115
116 void perror(const char *);
117
118 void flockfile(FILE *);
119 int ftrylockfile(FILE *);
120 void funlockfile(FILE *);
121 int getc_unlocked(FILE *);
122 int getchar_unlocked(void);
123 int putc_unlocked(int, FILE *);
124 int putchar_unlocked(int);
125
126 int setvbuf(FILE *, char *, int, size_t);
127 void setbuf(FILE *, char *);
128
129 char *tmpnam(char *);
130 char *tempnam(const char *, const char *);
131 FILE *tmpfile(void);
132
133 char *ctermid(char *);
134
135 ssize_t getdelim(char **, size_t *, int, FILE *);
136 ssize_t getline(char **, size_t *, FILE *);
137
138 int renameat(int, const char *, int, const char *);
139
140 #ifdef __cplusplus
141 }
142 #endif
143
144 #endif