aboutsummaryrefslogtreecommitdiff
path: root/kernel/include
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-26 20:27:23 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-26 21:19:34 +0100
commite97b668f82ad1a51e1e9352073a3ae51cedfdd34 (patch)
tree3f298a7ee717440eb9c0fce7bb3e6ce616d30177 /kernel/include
parent31ac3e6ffff00b7ac3b3dbb3db38c44409251b34 (diff)
downloadteachos-e97b668f82ad1a51e1e9352073a3ae51cedfdd34.tar.xz
teachos-e97b668f82ad1a51e1e9352073a3ae51cedfdd34.zip
mount /dev in the rootfs
Diffstat (limited to 'kernel/include')
-rw-r--r--kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp4
-rw-r--r--kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp12
2 files changed, 16 insertions, 0 deletions
diff --git a/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp b/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp
index 949ac83..cb07111 100644
--- a/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp
+++ b/kernel/include/kernel/filesystem/rootfs/rootfs_filesystem.hpp
@@ -4,10 +4,14 @@
#include "kernel/devices/device.hpp"
#include "kernel/filesystem/filesystem.hpp"
#include "kernel/filesystem/inode.hpp"
+#include "kernel/filesystem/rootfs/rootfs_inode.hpp"
#include <kstd/memory>
+#include <kstd/string>
+#include <kstd/vector>
#include <string_view>
+#include <utility>
namespace filesystem::rootfs
{
diff --git a/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp b/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp
index d533e8e..de4fb7c 100644
--- a/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp
+++ b/kernel/include/kernel/filesystem/rootfs/rootfs_inode.hpp
@@ -3,7 +3,13 @@
#include "kernel/filesystem/inode.hpp"
+#include <kstd/memory>
+#include <kstd/string>
+#include <kstd/vector>
+
#include <cstddef>
+#include <string_view>
+#include <utility>
namespace filesystem::rootfs
{
@@ -13,6 +19,12 @@ namespace filesystem::rootfs
auto read(void * buffer, size_t offset, size_t size) const -> size_t override;
auto write(void const * buffer, size_t offset, size_t size) -> size_t override;
+
+ auto add_child(std::string_view name) -> void;
+ auto lookup_child(std::string_view name) -> kstd::shared_ptr<inode>;
+
+ private:
+ kstd::vector<std::pair<kstd::string, kstd::shared_ptr<rootfs_inode>>> m_children;
};
} // namespace filesystem::rootfs