aboutsummaryrefslogtreecommitdiff
path: root/lib/include/syscalls.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/include/syscalls.h')
-rw-r--r--lib/include/syscalls.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/lib/include/syscalls.h b/lib/include/syscalls.h
index 34b6b37..7808e98 100644
--- a/lib/include/syscalls.h
+++ b/lib/include/syscalls.h
@@ -5,6 +5,8 @@
#include <stddef.h> // size_t
#include <sys/types.h> // ssize_t, off_t, ...
+extern int dynld_errno;
+
// Syscall definitions taken from corresponding man pages, eg
// open(2)
// read(2)
@@ -12,12 +14,27 @@
#define O_RDONLY 00
int open(const char* path, int flags);
+int close(int fd);
+
+#define F_OK 0
+#define R_OK 4
+int access(const char* path, int mode);
+ssize_t write(int fd, const void* buf, size_t count);
ssize_t read(int fd, void* buf, size_t count);
+ssize_t pread(int fd, void* buf, size_t count, off_t offset);
-#define SEEK_SET 0
-#define SEEK_CUR 1
-#define SEEK_END 2
-off_t lseek(int fd, off_t offset, int whence);
+// mmap - prot:
+#define PROT_READ 0x1
+#define PROT_WRITE 0x2
+#define PROT_EXEC 0x4
+// mmap - flags:
+#define MAP_PRIVATE 0x2
+#define MAP_ANONYMOUS 0x20
+#define MAP_FIXED 0x10
+// mmap - ret:
+#define MAP_FAILED ((void*)-1)
+void* mmap(void* addr, size_t length, int prot, int flags, int fd, off_t offset);
+int munmap(void* addr, size_t length);
void _exit(int status);