X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FLibraries%2Flibc.so_src%2Finclude_exp%2Fstdio.h;h=b2cb8574368c11328f76a7bba7cdb4ebcf904941;hb=HEAD;hp=4a81c18bbc3ebc3467d447fe7d9eb556ecc88588;hpb=a8759b69a7dddfeff55bdfde62a9a0765ccc7eee;p=tpg%2Facess2.git diff --git a/Usermode/Libraries/libc.so_src/include_exp/stdio.h b/Usermode/Libraries/libc.so_src/include_exp/stdio.h index 4a81c18b..b2cb8574 100644 --- a/Usermode/Libraries/libc.so_src/include_exp/stdio.h +++ b/Usermode/Libraries/libc.so_src/include_exp/stdio.h @@ -5,8 +5,13 @@ #ifndef __STDIO_H #define __STDIO_H -#include +#include #include +#include // size_t + +#ifdef __cplusplus +extern "C" { +#endif /* === Types === */ typedef struct sFILE FILE; @@ -15,6 +20,65 @@ typedef struct sFILE FILE; #define EOF (-1) #define BUFSIZ 1024 +#ifndef SEEK_CUR +#define SEEK_CUR 0 +#define SEEK_SET 1 +#define SEEK_END (-1) +#endif + +#define _IOFBF 2 +#define _IOLBF 1 +#define _IONBF 0 + +#ifdef ARCHDIR_is_native +#define printf acess_printf +#define vsnprintf acess_vsnprintf +#define vsprintf acess_vsprintf +#define vprintf acess_vprintf +#define sprintf acess_sprintf +#define snprintf acess_snprintf +#define perror acess_perror + +#define fopen acess_fopen +#define fdopen acess_fdopen +#define freopen acess_freopen +#define fmemopen acess_fmemopen +#define open_memstream acess_open_memstream +#define fdopen acess_fdopen +#define fclose acess_fclose +#define ftell acess_ftell +#define fseek acess_fseek +#define clearerr acess_clearerr +#define feof acess_feof +#define ferr acess_ferr +#define fileno acess_fileno + +#define fread acess_fread +#define fwrite acess_fwrite +#define fgetc acess_fgetc +#define fgets acess_fgets +#define fputc acess_fputc +#define fputs acess_fputs +#define getchar acess_getchar +#define putchar acess_putchar + +#define rename acess_rename + +#define fprintf acess_fprintf +#define vfprintf acess_vfprintf + +#define scanf acess_scanf +#define fscanf acess_fscanf +#define sscanf acess_sscanf +#define vscanf acess_vscanf +#define vsscanf acess_vsscanf +#define vfscanf acess_vfscanf + +#define stdin acess_stdin +#define stdout acess_stdout +#define stderr acess_stderr +#endif + /* --- Standard IO --- */ extern int printf(const char *format, ...); extern int vsnprintf(char *buf, size_t __maxlen, const char *format, va_list args); @@ -25,11 +89,16 @@ extern void perror(const char *s); extern FILE *fopen(const char *file, const char *mode); extern FILE *freopen(const char *file, const char *mode, FILE *fp); +extern FILE *fmemopen(void *buffer, size_t length, const char *mode); +extern FILE *open_memstream(char **bufferptr, size_t *lengthptr); extern FILE *fdopen(int fd, const char *modes); +extern FILE *tmpfile(void); extern int fclose(FILE *fp); -extern void fflush(FILE *fp); +extern int fflush(FILE *fp); extern off_t ftell(FILE *fp); +extern off_t ftello(FILE *fp); extern int fseek(FILE *fp, long int amt, int whence); +extern int fseeko(FILE *fp, off_t amt, int whence); extern void clearerr(FILE *stream); extern int feof(FILE *stream); extern int ferror(FILE *stream); @@ -38,6 +107,8 @@ extern int fileno(FILE *stream); extern size_t fread(void *buf, size_t size, size_t n, FILE *fp); extern size_t fwrite(const void *buf, size_t size, size_t n, FILE *fp); extern int fgetc(FILE *fp); +#define getc(fp) fgetc(fp) +extern int ungetc(int c, FILE *fp); extern char *fgets(char *s, int size, FILE *fp); extern int fputc(int ch, FILE *fp); extern int fputs(const char *s, FILE *fp); @@ -47,6 +118,8 @@ extern int putchar(int ch); extern int fprintf(FILE *fp, const char *format, ...); extern int vfprintf(FILE *fp, const char *format, va_list args); +extern int rename(const char *oldpath, const char *newpath); + // scanf extern int scanf(const char *format, ...); extern int fscanf(FILE *stream, const char *format, ...); @@ -59,5 +132,9 @@ extern FILE *stdin; extern FILE *stdout; extern FILE *stderr; +#if __cplusplus +} +#endif + #endif