1/*	$OpenBSD: stdio.h,v 1.8 2022/05/14 05:06:32 guenther Exp $	*/
2/*
3 * Copyright (c) 2015 Philip Guenther <guenther@openbsd.org>
4 *
5 * Permission to use, copy, modify, and distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef	_LIBC_STDIO_H_
19#define	_LIBC_STDIO_H_
20
21/* Rename __swbuf() before it's used in the inline __sputc() */
22struct __sFILE;
23int     __swbuf(int, struct __sFILE *);
24PROTO_NORMAL(__swbuf);
25
26/* we want the const-correct declarations inside libc */
27#define __SYS_ERRLIST
28
29#include_next <stdio.h>
30
31__BEGIN_HIDDEN_DECLS
32char	*_mktemp(char *);
33__END_HIDDEN_DECLS
34
35extern const int sys_nerr;
36extern const char *const sys_errlist[];
37
38#if 0
39extern PROTO_NORMAL(sys_nerr);
40extern PROTO_NORMAL(sys_errlist);
41#endif
42
43PROTO_NORMAL(__srget);
44PROTO_NORMAL(asprintf);
45PROTO_NORMAL(clearerr);
46PROTO_NORMAL(ctermid);
47PROTO_NORMAL(dprintf);
48PROTO_NORMAL(fclose);
49PROTO_NORMAL(fdopen);
50PROTO_NORMAL(feof);
51PROTO_NORMAL(ferror);
52PROTO_NORMAL(fflush);
53PROTO_NORMAL(fgetc);
54PROTO_NORMAL(fgetln);
55PROTO_NORMAL(fgetpos);
56PROTO_NORMAL(fgets);
57PROTO_NORMAL(fileno);
58PROTO_NORMAL(flockfile);
59PROTO_NORMAL(fmemopen);
60PROTO_NORMAL(fopen);
61PROTO_NORMAL(fprintf);
62PROTO_NORMAL(fpurge);
63PROTO_NORMAL(fputc);
64PROTO_NORMAL(fputs);
65PROTO_NORMAL(fread);
66PROTO_NORMAL(freopen);
67PROTO_NORMAL(fscanf);
68PROTO_STD_DEPRECATED(fseek);
69PROTO_NORMAL(fseeko);
70PROTO_NORMAL(fsetpos);
71PROTO_NORMAL(ftell);
72PROTO_NORMAL(ftello);
73PROTO_NORMAL(ftrylockfile);
74PROTO_NORMAL(funlockfile);
75PROTO_NORMAL(funopen);
76PROTO_NORMAL(fwrite);
77PROTO_NORMAL(getc);
78PROTO_NORMAL(getc_unlocked);
79PROTO_NORMAL(getchar);
80PROTO_NORMAL(getchar_unlocked);
81PROTO_NORMAL(getdelim);
82PROTO_NORMAL(getline);
83PROTO_NORMAL(getw);
84PROTO_NORMAL(open_memstream);
85PROTO_NORMAL(pclose);
86PROTO_NORMAL(perror);
87PROTO_NORMAL(popen);
88PROTO_NORMAL(printf);
89PROTO_NORMAL(putc);
90PROTO_NORMAL(putc_unlocked);
91PROTO_NORMAL(putchar);
92PROTO_NORMAL(putchar_unlocked);
93PROTO_NORMAL(puts);
94PROTO_NORMAL(putw);
95PROTO_NORMAL(remove);
96PROTO_NORMAL(rename);
97PROTO_NORMAL(renameat);
98PROTO_NORMAL(rewind);
99PROTO_NORMAL(scanf);
100PROTO_NORMAL(setbuf);
101PROTO_NORMAL(setbuffer);
102PROTO_NORMAL(setlinebuf);
103PROTO_NORMAL(setvbuf);
104PROTO_NORMAL(snprintf);
105PROTO_STD_DEPRECATED(sprintf);
106PROTO_NORMAL(sscanf);
107PROTO_DEPRECATED(tempnam);
108PROTO_NORMAL(tmpfile);
109PROTO_STD_DEPRECATED(tmpnam);
110PROTO_NORMAL(ungetc);
111PROTO_NORMAL(vasprintf);
112PROTO_NORMAL(vdprintf);
113PROTO_NORMAL(vfprintf);
114PROTO_NORMAL(vfscanf);
115PROTO_NORMAL(vprintf);
116PROTO_NORMAL(vscanf);
117PROTO_NORMAL(vsnprintf);
118PROTO_STD_DEPRECATED(vsprintf);
119PROTO_NORMAL(vsscanf);
120
121#endif /* _LIBC_STDIO_H_ */
122