aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-11-17 17:38:58 -0800
committerNicholas Noll <nbnoll@eml.cc>2021-11-17 17:38:58 -0800
commit7eb20457ff3d80cc81d54204ffd2c9edaf991905 (patch)
tree8207073b475156293155accf6cc7804ff1a0f3eb /include
parent8d60b38fbe778de30c3a1751b35d8e366882cd01 (diff)
automated platform specific code parsing
Diffstat (limited to 'include')
-rw-r--r--include/sys.h35
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);