summaryrefslogtreecommitdiff
path: root/src/user/lib/libc/include/tce/syscall.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/lib/libc/include/tce/syscall.h')
-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