OrionLibC
Barry Importing existing Orion LibC 03048a9 (2 years, 2 months ago)diff --git a/sys/stat.c b/sys/stat.c new file mode 100644 index 0000000..3c42fd9 --- /dev/null +++ b/sys/stat.c @@ -0,0 +1,31 @@ +#include <sys/stat.h> +#include <sys/syscall.h> +#include <errno.h> + +/* Get file status */ +int +stat(const char *pathname, struct stat *statbuf) +{ + int ret; + asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_STAT), + "c" (2), "S" (&pathname)); + if (ret >= 0) + return ret; + errno = -ret; + return -1; + +} + +/* Get file status by file descriptor */ +int +fstat(int fd, struct stat *statbuf) +{ + int ret; + asm volatile("int $0x80" : "=a" (ret) : "0" (SYSCALL_FSTAT), + "c" (2), "S" (&fd)); + if (ret >= 0) + return ret; + errno = -ret; + return -1; + +}