aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2021-11-18 13:18:38 -0800
committerNicholas Noll <nbnoll@eml.cc>2021-11-18 13:18:38 -0800
commit4bf477d5ed372fd44697d2f0df245b61b4f3f7b3 (patch)
treee52d8aa00de40b33c4f26cacba6841f299f97bb2 /include
parent8306b655f9d9a291126ed4947c481ea540c9b835 (diff)
filling out system layer
Diffstat (limited to 'include')
-rw-r--r--include/base.h2
-rw-r--r--include/sys.h30
2 files changed, 26 insertions, 6 deletions
diff --git a/include/base.h b/include/base.h
index 3e544e5..7077731 100644
--- a/include/base.h
+++ b/include/base.h
@@ -3,6 +3,8 @@
// ------------------------------------------------------------------------
// standard library
+//#include <arch/types.h>
+//
#include <assert.h>
#include <stdlib.h>
#include <string.h>
diff --git a/include/sys.h b/include/sys.h
index 15fba2a..e7573bf 100644
--- a/include/sys.h
+++ b/include/sys.h
@@ -19,15 +19,33 @@
// -----------------------------------------------------------------------
// functions
-/*
- * system calls with errno-free interface
- */
-int sys·call(int num, ...);
+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, intptr len, void *buf, intptr *nw);
-int sys·read(int fd, intptr len, void *buf, intptr *nr);
+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);