summaryrefslogtreecommitdiff
path: root/userland/libc/fcntl/open.c
blob: 37bb629550350c2898e540782bada5c8d1e04eb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <fcntl.h>
#include <syscall.h>
#include <stdarg.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, mode_t);
    va_end(ap);
  }
  RC_ERRNO(syscall(SYS_OPEN, file, flags, mode, 0, 0));
}