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)); }