#include #include #include #include int creat(const char* path, mode_t mode) { return open(path, O_WRONLY | O_CREAT | O_TRUNC, mode); } int open(const char* path, int oflag, ...) { va_list args; va_start(args, oflag); mode_t mode = va_arg(args, mode_t); va_end(args); return openat(AT_FDCWD, path, oflag, mode); } int openat(int fd, const char* path, int oflag, ...) { va_list args; va_start(args, oflag); mode_t mode = va_arg(args, mode_t); va_end(args); return syscall(SYS_OPENAT, fd, path, oflag, __UMASKED_MODE(mode)); } int fcntl(int fildes, int cmd, ...) { va_list args; va_start(args, cmd); int extra = va_arg(args, int); va_end(args); return syscall(SYS_FCNTL, fildes, cmd, extra); }