#include #include #include #include #include int open(const char* filename, int flags, ...) { int ret; if (flags | O_CREAT) { va_list vl; va_start(vl, flags); ret = syscall3(SYS_open, (uint32_t)filename, flags, va_arg(vl, int)); va_end(vl); } else ret = syscall2(SYS_open, (uint32_t)filename, flags); if (ret < 0) { errno = -ret; return -1; } return ret; }