#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 /* * system calls with errno-free interface */ int sys·call(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, intptr len, void *buf, intptr *nw); int sys·read(int fd, intptr len, void *buf, intptr *nr); int sys·seek(int fd, intptr offset, int from, intptr *pos); int sys·dup(int from, int to);