software/libbase: provide file I/O declaration
authorSebastien Bourdeauducq <sebastien@milkymist.org>
Fri, 25 May 2012 20:45:28 +0000 (22:45 +0200)
committerSebastien Bourdeauducq <sebastien@milkymist.org>
Fri, 25 May 2012 20:45:28 +0000 (22:45 +0200)
software/include/base/stdio.h

index 869c649816b6133ed48360002b3356aba294913a..8073e7ddd6f1b564aa96b7d63c5fef7638ef375e 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef __STDIO_H
 #define __STDIO_H
 
-#include <stdlib.h>
+#include <stddef.h>
 
 int putchar(int c);
 int puts(const char *s);
@@ -12,4 +12,28 @@ int sprintf(char *buf, const char *fmt, ...);
 
 int printf(const char *fmt, ...);
 
+/*
+ * Note: this library does not provide FILE operations.
+ * User code must implement them.
+ */
+
+#ifndef BUFSIZ
+#define BUFSIZ 1024
+#endif
+
+typedef int FILE;
+
+extern FILE *stdin;
+extern FILE *stdout;
+extern FILE *stderr;
+
+int fprintf(FILE *stream, const char *format, ...);
+int fflush(FILE *stream);
+
+FILE *fopen(const char *path, const char *mode);
+char *fgets(char *s, int size, 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 fclose(FILE *fp);
+
 #endif /* __STDIO_H */