diff options
Diffstat (limited to 'kernel/syscalls/open.c')
| -rw-r--r-- | kernel/syscalls/open.c | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/kernel/syscalls/open.c b/kernel/syscalls/open.c new file mode 100644 index 0000000..b42a7a8 --- /dev/null +++ b/kernel/syscalls/open.c @@ -0,0 +1,14 @@ +#include <errno.h> +#include <syscalls.h> + +int syscall_open(const char *file, int flags, mode_t mode) { +  const char *_file = copy_and_allocate_user_string(file); +  if (!_file) { +    return -EFAULT; +  } +  int _flags = flags; +  int _mode = mode; +  int rc = vfs_open(_file, _flags, _mode); +  kfree((void*)_file); +  return rc; +} |