X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Flib%2Fuser%2Fsyscall.c;fp=src%2Flib%2Fuser%2Fsyscall.c;h=7395a3ba197ab469b14a877b31596780143cde75;hb=f2f8875638593bd5365cfd6a5ba7c9578e52322f;hp=0000000000000000000000000000000000000000;hpb=dca7bfbc436c5305ef8f0df6fbe1faba89a0012e;p=pintos-anon diff --git a/src/lib/user/syscall.c b/src/lib/user/syscall.c new file mode 100644 index 0000000..7395a3b --- /dev/null +++ b/src/lib/user/syscall.c @@ -0,0 +1,65 @@ +#include +#include "syscall-stub.h" +#include "../syscall-nr.h" + +void +halt (void) +{ + syscall (SYS_halt); + NOT_REACHED (); +} + +void +exit (int status) +{ + syscall (SYS_exit, status); + NOT_REACHED (); +} + +pid_t +exec (const char *file) +{ + return syscall (SYS_exec, file); +} + +int +join (pid_t pid) +{ + return syscall (SYS_join, pid); +} + +bool +create (const char *file) +{ + return syscall (SYS_create, file); +} + +bool +remove (const char *file) +{ + return syscall (SYS_remove, file); +} + +int +open (const char *file) +{ + return syscall (SYS_open, file); +} + +int +read (int fd, void *buffer, unsigned size) +{ + return syscall (SYS_read, fd, buffer, size); +} + +int +write (int fd, const void *buffer, unsigned size) +{ + return syscall (SYS_write, fd, buffer, size); +} + +void +close (int fd) +{ + syscall (SYS_close, fd); +}