OrionLibC
Barry Importing existing Orion LibC 03048a9 (2 years, 3 months ago)#include <fcntl.h> #include <sys/syscall.h> #include <sys/types.h> #include <errno.h> /* Open a file */ int open(const char *name, int flags, ...) { int ret; if (flags & O_CREATE) { asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_OPEN), "c" (3), "S" (&name)); } else { asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_OPEN), "c" (2), "S" (&name)); } if (ret >= 0) return ret; errno = -ret; return -1; } /* Create a file */ int create(const char *name, mode_t mode) { return open(name, O_CREATE | O_WRONLY | O_TRUNC, mode); }