Usermode/libc - C++ wrapping in headers, time rework
[tpg/acess2.git] / Usermode / Libraries / libc.so_src / include_exp / stdio.h
index fed2e97..ed1fce5 100644 (file)
@@ -9,6 +9,10 @@
 #include <stdarg.h>
 #include <stddef.h>    // size_t
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 /* === Types === */
 typedef struct sFILE   FILE;
 
@@ -28,22 +32,51 @@ typedef struct sFILE        FILE;
 
 #ifdef ARCHDIR_is_native
 #define printf acess_printf
-#define vsprintf       acess_vsprintf
 #define vsnprintf      acess_vsnprintf
+#define vsprintf       acess_vsprintf
+#define vprintf        acess_vprintf
 #define sprintf        acess_sprintf
 #define snprintf       acess_snprintf
-#define vprintf        acess_vprintf
-#define vfprintf       acess_vfprintf
+#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 putchar        acess_putchar
+#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 --- */
@@ -56,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 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);
@@ -70,6 +108,7 @@ 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);
@@ -79,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, ...);
@@ -91,5 +132,9 @@ extern FILE  *stdin;
 extern FILE    *stdout;
 extern FILE    *stderr;
 
+#if __cplusplus
+}
+#endif
+
 #endif
 

UCC git Repository :: git.ucc.asn.au