aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/filesystem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi/filesystem.cpp')
-rw-r--r--kernel/kapi/filesystem.cpp12
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