summaryrefslogtreecommitdiff
path: root/src/user/lib/libc/include/tce
diff options
context:
space:
mode:
authorAlex AUVOLAT <alexis211@gmail.com>2012-05-19 11:45:49 +0200
committerAlex AUVOLAT <alexis211@gmail.com>2012-05-19 11:45:49 +0200
commit499ca6c243b05da176a2d4bd9a2317f0b28afc7f (patch)
treef55ff788632b017ab8de83b71ad02b0998e1dda5 /src/user/lib/libc/include/tce
parent7b466345af0d3a7dc5622617ce443a90c64e34a4 (diff)
downloadTCE-499ca6c243b05da176a2d4bd9a2317f0b28afc7f.tar.gz
TCE-499ca6c243b05da176a2d4bd9a2317f0b28afc7f.zip
Introducing FWIK, the userland C++ framework. Far from complete.
Diffstat (limited to 'src/user/lib/libc/include/tce')
-rw-r--r--src/user/lib/libc/include/tce/syscall.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/user/lib/libc/include/tce/syscall.h b/src/user/lib/libc/include/tce/syscall.h
new file mode 100644
index 0000000..6ad37f1
--- /dev/null
+++ b/src/user/lib/libc/include/tce/syscall.h
@@ -0,0 +1,43 @@
+#ifndef DEF_SYSCALL_H
+#define DEF_SYSCALL_H
+
+#include <types.h>
+#include <tce/syscalls.h>
+#include <tce/vfs.h>
+
+#define NEW_STACK_SIZE 0x8000
+
+#ifdef __cplusplus
+extern "C" { namespace libc {
+#endif
+
+void thread_exit();
+void schedule();
+void thread_sleep(int time);
+void process_exit(int retval);
+void printk(char* str);
+void thread_new(void (*entry)(void*), void *data);
+void irq_wait(int number);
+int proc_priv();
+
+void* sbrk(ptrdiff_t size);
+void brk(void* ptr);
+
+int run(char* file, char** args, FILE zero_fd);
+int waitpid(int pid, int block);
+
+FILE open(char* filename, int mode);
+FILE open_relative(FILE root, char* filename, int mode);
+int stat(char* filename, file_info *info);
+int stat_relative(FILE root, char* filename, file_info *info);
+int statf(FILE file, file_info *info);
+void close(FILE file);
+int read(FILE file, size_t offset, size_t len, char *buffer);
+int write(FILE file, size_t offset, size_t len, char *buffer);
+int link(char* from, char* to, int mode);
+
+#ifdef __cplusplus
+} }
+#endif
+
+#endif