#ifndef DEF_SYSCALL_H #define DEF_SYSCALL_H #include #include #include #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(const 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(const char* file, const char** args, FILE zero_fd); int waitpid(int pid, int block); FILE open(const char* filename, int mode); FILE open_relative(FILE root, const char* filename, int mode); int stat(const char* filename, file_info *info); int stat_relative(FILE root, const 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, const char *buffer); int link(const char* from, const char* to, int mode); #ifdef __cplusplus } } #endif #endif