diff options
author | Alex Auvolat <alex@adnab.me> | 2016-07-15 22:39:04 +0200 |
---|---|---|
committer | Alex Auvolat <alex@adnab.me> | 2016-07-15 22:39:04 +0200 |
commit | 7a1ea510a9fc43ccbc257601b149a90920332e13 (patch) | |
tree | 75ac252bb8ce029c62d6834e4ca927f59eaf5769 /src/lib/include/stdio.h | |
parent | d415aca695956c79110c88fa58c12bf55c0e2163 (diff) | |
download | kogata-7a1ea510a9fc43ccbc257601b149a90920332e13.tar.gz kogata-7a1ea510a9fc43ccbc257601b149a90920332e13.zip |
Add Lua source, not compiled yet as libc/libm functions remain unimplemented
Diffstat (limited to 'src/lib/include/stdio.h')
-rw-r--r-- | src/lib/include/stdio.h | 85 |
1 files changed, 80 insertions, 5 deletions
diff --git a/src/lib/include/stdio.h b/src/lib/include/stdio.h index a0d741f..f46add4 100644 --- a/src/lib/include/stdio.h +++ b/src/lib/include/stdio.h @@ -6,11 +6,86 @@ extern fd_t stdio; -void putchar(int c); -void puts(char* s); -void printf(char* arg, ...); - -int getchar(); +// CUSTOM! void getline(char* buf, size_t l); + +//TODO below +struct file_t { + fd_t fd; +}; +typedef struct file_t FILE; + + +int fgetc(FILE *stream); +char *fgets(char *s, int size, FILE *stream); +int getc(FILE *stream); +int getchar(void); +int ungetc(int c, FILE *stream); + +int fputc(int c, FILE *stream); +int fputs(const char *s, FILE *stream); +int putc(int c, FILE *stream); +int putchar(int c); +int puts(const char *s); + +FILE *fopen(const char *path, const char *mode); +FILE *freopen(const char *path, const char *mode, FILE *stream); + +void clearerr(FILE *stream); +int feof(FILE *stream); +int ferror(FILE *stream); +int fileno(FILE *stream); + + +size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); +size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); + +int fflush(FILE* f); +int fclose(FILE* f); + +#define EOF ((int)-1) + +extern FILE *stdin, *stdout, *stderr; + +#define BUFSIZ 0 +void setbuf(FILE *stream, char *buf); +void setbuffer(FILE *stream, char *buf, size_t size); +void setlinebuf(FILE *stream); +int setvbuf(FILE *stream, char *buf, int mode, size_t size); + +#define _IOFBF 0 +#define _IOLBF 1 +#define _IONBF 2 + +typedef size_t fpos_t; //TODO + +int fseek(FILE *stream, long offset, int whence); +long ftell(FILE *stream); +void rewind(FILE *stream); +int fgetpos(FILE *stream, fpos_t *pos); +int fsetpos(FILE *stream, const fpos_t *pos); + +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 + +#define L_tmpnam 12 +FILE *tmpfile(void); +char *tmpnam(char *s); + +int rename(const char *old, const char *new); +int remove(const char *pathname); + + + + + +int printf(const char *format, ...); +int fprintf(FILE *stream, const char *format, ...); +int dprintf(int fd, const char *format, ...); +int sprintf(char *str, const char *format, ...); +int snprintf(char *str, size_t size, const char *format, ...); + + /* vim: set ts=4 sw=4 tw=0 noet :*/ |