diff options
Diffstat (limited to 'kernel/kapi/filesystem.cpp')
| -rw-r--r-- | kernel/kapi/filesystem.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/kernel/kapi/filesystem.cpp b/kernel/kapi/filesystem.cpp index 7a0c2728..2f3c524e 100644 --- a/kernel/kapi/filesystem.cpp +++ b/kernel/kapi/filesystem.cpp @@ -4,7 +4,6 @@ #include <kstd/memory.hpp> #include <kstd/result.hpp> -#include <kstd/system_error.hpp> #include <kstd/units.hpp> #include <cstddef> @@ -12,7 +11,6 @@ #include <expected> #include <span> #include <string_view> -#include <utility> namespace kapi::filesystem { @@ -90,13 +88,11 @@ namespace kapi::filesystem return kernel::vfs::vfs::get().create_device_node(path, static_cast<std::uint32_t>(type), number); } - auto read_directory(std::size_t file_descriptor, directory_cursor position, std::span<directory_entry> buffer) - -> kstd::result<std::pair<std::size_t, directory_cursor>> + auto read_directory(std::size_t file_descriptor, std::span<directory_entry> buffer) -> kstd::result<std::size_t> { - static_cast<void>(file_descriptor); - static_cast<void>(position); - static_cast<void>(buffer); - return kstd::failure(make_error_code(kstd::errc::not_supported)); + return kernel::vfs::open_file_table::get().file(file_descriptor).and_then([=](auto file) { + return file->read_directory(buffer); + }); } } // namespace kapi::filesystem
\ No newline at end of file |
