aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-08-26 17:49:43 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-08-26 20:37:48 +0200
commitd999c29c82b77e3e7b4ba23dc0ede76415424856 (patch)
treeda5201ae969ab1352183f1e0ba4e9c434a7240ea
parent96fdf372d20b5777a77ee4bbe18d352c5b6d1c78 (diff)
downloadkernel-d999c29c82b77e3e7b4ba23dc0ede76415424856.tar.xz
kernel-d999c29c82b77e3e7b4ba23dc0ede76415424856.zip
kernel/fs: rootfs: implement read_directory
-rw-r--r--kernel/kernel/filesystem/rootfs/inode.cpp9
-rw-r--r--kernel/kernel/filesystem/rootfs/inode.hpp7
2 files changed, 16 insertions, 0 deletions
diff --git a/kernel/kernel/filesystem/rootfs/inode.cpp b/kernel/kernel/filesystem/rootfs/inode.cpp
index 0ee0b517..f2751afc 100644
--- a/kernel/kernel/filesystem/rootfs/inode.cpp
+++ b/kernel/kernel/filesystem/rootfs/inode.cpp
@@ -1,5 +1,7 @@
#include <kernel/filesystem/inode.hpp>
+#include <kernel/filesystem/directory_listing_cursor.hpp>
+#include <kernel/filesystem/directory_listing_entry.hpp>
#include <kernel/filesystem/rootfs/inode.hpp>
#include <kstd/result.hpp>
@@ -7,6 +9,7 @@
#include <cstddef>
#include <span>
+#include <utility>
namespace kernel::filesystem::rootfs
{
@@ -24,4 +27,10 @@ namespace kernel::filesystem::rootfs
{
return true;
}
+
+ auto inode::read_directory(directory_listing_cursor position, std::span<directory_listing_entry>) const
+ -> kstd::result<std::pair<std::size_t, directory_listing_cursor>>
+ {
+ return std::pair{0, position};
+ }
} // namespace kernel::filesystem::rootfs
diff --git a/kernel/kernel/filesystem/rootfs/inode.hpp b/kernel/kernel/filesystem/rootfs/inode.hpp
index 2a1c3858..fdef0df4 100644
--- a/kernel/kernel/filesystem/rootfs/inode.hpp
+++ b/kernel/kernel/filesystem/rootfs/inode.hpp
@@ -1,6 +1,8 @@
#ifndef TEACHOS_KERNEL_FILESYSTEM_ROOTFS_INODE_HPP
#define TEACHOS_KERNEL_FILESYSTEM_ROOTFS_INODE_HPP
+#include <kernel/filesystem/directory_listing_cursor.hpp>
+#include <kernel/filesystem/directory_listing_entry.hpp>
#include <kernel/filesystem/inode.hpp>
#include <kstd/memory.hpp>
@@ -11,6 +13,7 @@
#include <cstddef>
#include <span>
+#include <utility>
namespace kernel::filesystem::rootfs
{
@@ -23,6 +26,10 @@ namespace kernel::filesystem::rootfs
auto write(std::span<std::byte const> buffer, kstd::bytes offset) -> kstd::result<kstd::bytes> override;
[[nodiscard]] auto is_directory() const -> bool override;
+
+ [[nodiscard]] auto read_directory(directory_listing_cursor position,
+ std::span<directory_listing_entry> entries) const
+ -> kstd::result<std::pair<std::size_t, directory_listing_cursor>> override;
};
} // namespace kernel::filesystem::rootfs