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