summaryrefslogtreecommitdiffstats
path: root/src/target/firmware/lib/system.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/firmware/lib/system.c')
-rw-r--r--src/target/firmware/lib/system.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/src/target/firmware/lib/system.c b/src/target/firmware/lib/system.c
new file mode 100644
index 00000000..48ef5f1e
--- /dev/null
+++ b/src/target/firmware/lib/system.c
@@ -0,0 +1,42 @@
+
+#include <sys/types.h>
+#include <sys/ioctl.h>
+
+#include <errno.h>
+#include <unistd.h>
+
+#include <comm/sercomm_cons.h>
+
+int errno;
+
+int ioctl(int fd, long int request, ...) {
+ return 0;
+}
+
+ssize_t __libc_write(int fd, const void *buf, size_t count) {
+ char c;
+ int i;
+
+ switch(fd) {
+ default:
+ case 0:
+ errno = EBADF;
+ return -1;
+ case 1:
+ case 2:
+ return sercomm_write(buf, count);
+ }
+}
+
+ssize_t write(int fd, const void *buf, size_t count) {
+ return __libc_write(fd, buf, count);
+}
+
+off_t lseek(int fd, off_t offset, int whence) {
+ return offset;
+}
+
+void _exit(int status) {
+ puts("Program exit\n");
+ while(1) { }
+}