diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-08-27 12:33:31 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-08-27 12:33:41 +0200 |
| commit | 0e72a1b27df2008013f2ee9c468a88c3e3843fae (patch) | |
| tree | f06177db1d52fb5ea1afa84c78e4b1094f5c55f0 /kernel/kapi/filesystem.cpp | |
| parent | c9711c4ea8e5fccc23255e9f6ae86b15006aa6ea (diff) | |
| download | kernel-0e72a1b27df2008013f2ee9c468a88c3e3843fae.tar.xz kernel-0e72a1b27df2008013f2ee9c468a88c3e3843fae.zip | |
kapi/fs: implement read_directory
This change also replaces the kernel internal directory_listing_cursor
and directory_listing_entry with the kapi types directory_cursor and
directory_entry.
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 |
