diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/sys.h | 35 |
1 files changed, 28 insertions, 7 deletions
diff --git a/include/sys.h b/include/sys.h index 773ff3a..15fba2a 100644 --- a/include/sys.h +++ b/include/sys.h @@ -1,12 +1,33 @@ #pragma once -#include <sys/constants.h> +#include <arch/constants.h> +#include <arch/errno.h> -#define sys·Oread 0x0u -#define sys·Owrite 0x1u -#define sys·Ordwr 0x2u +// ----------------------------------------------------------------------- +// global constants -/* system calls */ +/* 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, ...); -int sys·open(char *path, int flag, int mode, int *ret); -int sys·close(char *path, int flag, int mode, int *ret); + +/* 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); |