/* This file is part of Fennix C Library. Fennix C Library is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Fennix C Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Fennix C Library. If not, see . */ #ifndef _STDIO_H #define _STDIO_H #ifdef __cplusplus extern "C" { #endif // __cplusplus #include #include #include #define BUFSIZ 512 #define FILENAME_MAX 255 #define FOPEN_MAX 8 #define _IOFBF 0 #define _IOLBF 1 #define _IONBF 2 #define L_ctermid 20 #define L_cuserid 20 #define L_tmpnam 255 #define SEEK_CUR 1 #define SEEK_END 2 #define SEEK_SET 0 #define TMP_MAX 10000 #define EOF (-1) #ifndef NULL #define NULL ((void *)0) #endif #define P_tmpdir "/tmp/" typedef long fpos_t; typedef __SIZE_TYPE__ size_t; struct _IO_FILE { int fd; char *buffer; size_t buffer_size; size_t buffer_pos; int flags; int error; int eof; }; #define _i_READ 1 #define _i_WRITE 2 extern struct _IO_FILE *_i_open_files[256]; typedef struct _IO_FILE FILE; extern char *optarg; extern int opterr; extern int optind; extern int optopt; extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 #define stdin stdin #define stdout stdout #define stderr stderr void clearerr(FILE *); char *ctermid(char *); int dprintf(int, const char *restrict, ...); int fclose(FILE *stream); FILE *fdopen(int, const char *); int feof(FILE *stream); int ferror(FILE *stream); int fflush(FILE *stream); int fgetc(FILE *stream); int fgetpos(FILE *restrict, fpos_t *restrict); char *fgets(char *restrict s, int n, FILE *restrict stream); int fileno(FILE *); void flockfile(FILE *); FILE *fmemopen(void *restrict, size_t, const char *restrict); FILE *fopen(const char *restrict pathname, const char *restrict mode); int fprintf(FILE *restrict stream, const char *restrict format, ...); int fputc(int c, FILE *stream); int fputs(const char *restrict s, FILE *restrict stream); size_t fread(void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); FILE *freopen(const char *restrict, const char *restrict, FILE *restrict); int fscanf(FILE *restrict stream, const char *restrict format, ...); int fseek(FILE *stream, long offset, int whence); int fseeko(FILE *, off_t, int); int fsetpos(FILE *, const fpos_t *); long ftell(FILE *); off_t ftello(FILE *); int ftrylockfile(FILE *); void funlockfile(FILE *); size_t fwrite(const void *restrict ptr, size_t size, size_t nitems, FILE *restrict stream); int getc(FILE *stream); int getchar(void); int getc_unlocked(FILE *); int getchar_unlocked(void); ssize_t getdelim(char **restrict lineptr, size_t *restrict n, int delimiter, FILE *restrict stream); ssize_t getline(char **restrict lineptr, size_t *restrict n, FILE *restrict stream); FILE *open_memstream(char **, size_t *); int pclose(FILE *); void perror(const char *s); FILE *popen(const char *, const char *); int printf(const char *restrict format, ...); int putc(int c, FILE *stream); int putchar(int c); int putc_unlocked(int c, FILE *stream); int putchar_unlocked(int c); int puts(const char *s); int remove(const char *path); int rename(const char *, const char *); int renameat(int, const char *, int, const char *); void rewind(FILE *); int scanf(const char *restrict format, ...); void setbuf(FILE *restrict, char *restrict); int setvbuf(FILE *restrict, char *restrict, int, size_t); int snprintf(char *restrict s, size_t n, const char *restrict format, ...); int sprintf(char *restrict s, const char *restrict format, ...); int sscanf(const char *restrict s, const char *restrict format, ...); FILE *tmpfile(void); char *tmpnam(char *); int ungetc(int, FILE *); int vdprintf(int, const char *restrict, va_list); int vfprintf(FILE *restrict stream, const char *restrict format, va_list ap); int vfscanf(FILE *restrict, const char *restrict, va_list); int vprintf(const char *restrict, va_list); int vscanf(const char *restrict, va_list); int vsnprintf(char *restrict s, size_t n, const char *restrict format, va_list ap); int vsprintf(char *restrict, const char *restrict, va_list); int vsscanf(const char *restrict, const char *restrict, va_list); #ifdef __cplusplus } #endif // __cplusplus #endif // !_STDIO_H