#pragma once #include #include // ----------------------------------------------------------------------- // global constants /* open */ #define sys·ORead 0x0u #define sys·OWrite 0x1u #define sys·ORdwr 0x2u /* seek */ #define sys·SeekSet 0u #define sys·SeekCur 1u #define sys·SeekEnd 2u // ----------------------------------------------------------------------- // functions char *sys·errormsg(int num); /* file operations */ int sys·open(char *path, int flag, int mode, int *fd); int sys·close(int fd); int sys·write(int fd, uintptr len, void *buf, intptr *nw); int sys·read(int fd, uintptr len, void *buf, intptr *nr); int sys·seek(int fd, intptr offset, int from, intptr *pos); int sys·dup(int from, int to); /* directory operations */ int sys·chdirfd(int fd); int sys·chdir(char *path); int sys·direntry(int fd, int len, void *buffer, uintptr *size); /* process operations */ int sys·fork(void); int sys·exec(char *program, char *argv[], char *env[]); /* memory operations */ int sys·brk(void *addr); int sys·sbrk(intptr delta, void **ret); int sys·mmap(void *addr, uintptr len, int prot, int flags, int fd, intptr off, void **ret); int sys·mremap(void *old, uintptr from, uintptr to, int flags, void **new); int sys·munmap(void *addr, uintptr len); int sys·madvise(void *addr, uintptr len, int advice); int sys·mprotect(void *addr, uintptr len, int prot); int sys·mlock(void *addr, uintptr len); int sys·munlock(void *addr, uintptr len);