summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/fs.h2
-rw-r--r--kernel/syscalls.h11
2 files changed, 9 insertions, 4 deletions
diff --git a/fs/fs.h b/fs/fs.h
index f642502..07127be 100644
--- a/fs/fs.h
+++ b/fs/fs.h
@@ -1,6 +1,8 @@
#ifndef FOOLOS_FS
#define FOOLOS_FS
+
#define EXT2_RAM_ADDRESS 0x168800
+
enum FS_FILE_TYPE{
FS_FILE_TYPE_DIR = 1,
diff --git a/kernel/syscalls.h b/kernel/syscalls.h
index 5fb62db..eb9f854 100644
--- a/kernel/syscalls.h
+++ b/kernel/syscalls.h
@@ -1,9 +1,12 @@
#include "fs/fs.h"
+//fool-os syscalls
+#define SYSCALL_READDIR 63
+
+//syscalls required by newlib
#define SYSCALL_EXIT 60
#define SYSCALL_WRITE 61
#define SYSCALL_READ 62
-#define SYSCALL_READDIR 63
#define SYSCALL_EXECVE 64
#define SYSCALL_OPEN 65
#define SYSCALL_CLOSE 66
@@ -12,17 +15,17 @@
#define SYSCALL_LSEEK 69
#define SYSCALL_SBRK 70
+int syscall_readdir(const char *name,fs_dirent *dirs,int max);
+int syscall_exit(int ret, int none1, int none2);
int syscall_open(char *name, int flags, int len);
int syscall_write(int file, char *buf, int len);
int syscall_read(int file, char *buf, int len);
-int syscall_readdir(const char *name,fs_dirent *dirs,int max);
int syscall_execve(char *name, char **argv, char **env);
-
int syscall_close(int file,int none1,int none2);
int syscall_fstat(int file, struct stat *st,int none);
int syscall_isatty(int file,int none1,int none2);
int syscall_lseek(int file,int ptr,int dir);
int syscall_sbrk(int incr, int none1, int none2);
-// missing: _exit, environ, fork, getpid, kill, link, stat, times, unlink, wait;
+//fork, getpid, kill, link, stat, times, unlink, wait;