summaryrefslogtreecommitdiff
path: root/userland/libc/fcntl/open.c
blob: 1e8781a71603e3297b6a460bbe074e3cc5e86127 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fcntl.h>
#include <stdarg.h>
#include <syscall.h>

int open(const char *file, int flags, ...) {
  mode_t mode = 0;

  if (flags & O_CREAT) {
    va_list ap;
    va_start(ap, flags);
    mode = va_arg(ap, int);
    va_end(ap);
  }
  RC_ERRNO(syscall(SYS_OPEN, file, flags, mode, 0, 0));
}