diff --git a/src/kernel/libroot/os/fs_info.c b/src/kernel/libroot/os/fs_info.c index a7c0a5c7a2..6aecab52b3 100644 --- a/src/kernel/libroot/os/fs_info.c +++ b/src/kernel/libroot/os/fs_info.c @@ -10,9 +10,8 @@ #include #include -#include "syscalls.h" +#include -// ToDo: implement these for real - the VFS functions are still missing! #define RETURN_AND_SET_ERRNO(status) \ { \ @@ -37,20 +36,19 @@ dev_for_path(const char *path) dev_t -next_dev(int32 *pos) +next_dev(int32 *_cookie) { - status_t status = B_ERROR; - - RETURN_AND_SET_ERRNO(status) + return _kern_next_device(_cookie); + // For some reason, this one returns its error code directly } int -fs_stat_dev(dev_t dev, fs_info *info) +fs_stat_dev(dev_t device, fs_info *info) { - status_t status = B_ERROR; + status_t status = _kern_read_fs_info(device, info); - RETURN_AND_SET_ERRNO(status) + RETURN_AND_SET_ERRNO(status); } diff --git a/src/kernel/libroot/os/syscalls.S b/src/kernel/libroot/os/syscalls.S index d68f742a4c..6d8065f890 100644 --- a/src/kernel/libroot/os/syscalls.S +++ b/src/kernel/libroot/os/syscalls.S @@ -33,6 +33,7 @@ SYSCALL4(_kern_mount, 1) SYSCALL1(_kern_unmount, 2) SYSCALL2(_kern_read_fs_info, 66) SYSCALL3(_kern_write_fs_info, 67) +SYSCALL1(_kern_next_device, 68) SYSCALL0(_kern_sync, 3) SYSCALL5(_kern_dir_node_ref_to_path, 142) SYSCALL2(_kern_open, 4)