summaryrefslogtreecommitdiff
path: root/kernel/old/include/syscalls.h
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/old/include/syscalls.h')
-rw-r--r--kernel/old/include/syscalls.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/kernel/old/include/syscalls.h b/kernel/old/include/syscalls.h
new file mode 100644
index 0000000..27392a1
--- /dev/null
+++ b/kernel/old/include/syscalls.h
@@ -0,0 +1,80 @@
+/**
+** @file syscalls.h
+**
+** @author CSCI-452 class of 20245
+**
+** @brief System call declarations
+*/
+
+#ifndef SYSCALLS_H_
+#define SYSCALLS_H_
+
+#include <common.h>
+
+/*
+** General (C and/or assembly) definitions
+*/
+
+/*
+** system call codes
+**
+** these are used in the user-level C library stub functions,
+** and are defined here as CPP macros instead of as an enum
+** so that they can be used from assembly
+*/
+
+#define SYS_exit 0
+#define SYS_waitpid 1
+#define SYS_fork 2
+#define SYS_exec 3
+#define SYS_read 4
+#define SYS_write 5
+#define SYS_getpid 6
+#define SYS_getppid 7
+#define SYS_gettime 8
+#define SYS_getprio 9
+#define SYS_setprio 10
+#define SYS_kill 11
+#define SYS_sleep 12
+
+// UPDATE THIS DEFINITION IF MORE SYSCALLS ARE ADDED!
+#define N_SYSCALLS 13
+
+// dummy system call code for testing our ISR
+#define SYS_bogus 0xbad
+
+// interrupt vector entry for system calls
+#define VEC_SYSCALL 0x80
+
+#ifndef ASM_SRC
+
+/*
+** Start of C-only definitions
+*/
+
+/*
+** Types
+*/
+
+/*
+** Globals
+*/
+
+/*
+** Prototypes
+*/
+
+#ifdef KERNEL_SRC
+
+/**
+** Name: sys_init
+**
+** Syscall module initialization routine
+*/
+void sys_init(void);
+
+#endif /* KERNEL_SRC */
+
+#endif /* !ASM_SRC */
+
+#endif