blob: 83ad3f0098e5677735746ea8dd91dce290970015 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <errno.h>
#include <fs/vfs.h>
#include <syscalls.h>
int syscall_stat(SYS_STAT_PARAMS *args) {
const char *pathname = copy_and_allocate_user_string(args->pathname);
struct stat *statbuf = args->statbuf;
int fd = vfs_open(pathname, O_READ, 0);
if (0 > fd) {
return -ENOENT;
}
int rc = vfs_fstat(fd, statbuf);
vfs_close(fd);
return rc;
}
|