diff options
| -rw-r--r-- | kernel/include/kernel/filesystem/filesystem.hpp | 5 | ||||
| -rw-r--r-- | kernel/src/filesystem/filesystem.cpp | 11 |
2 files changed, 16 insertions, 0 deletions
diff --git a/kernel/include/kernel/filesystem/filesystem.hpp b/kernel/include/kernel/filesystem/filesystem.hpp index e069ced..362242f 100644 --- a/kernel/include/kernel/filesystem/filesystem.hpp +++ b/kernel/include/kernel/filesystem/filesystem.hpp @@ -2,6 +2,7 @@ #define TEACH_OS_KERNEL_FILESYSTEM_FILESYSTEM_HPP #include "kernel/devices/device.hpp" +#include "kernel/filesystem/dentry.hpp" #include "kernel/filesystem/inode.hpp" #include <kstd/memory> @@ -19,11 +20,15 @@ namespace filesystem virtual auto lookup(kstd::shared_ptr<inode> const & parent, std::string_view name) -> kstd::shared_ptr<inode> = 0; [[nodiscard]] auto root_inode() const -> kstd::shared_ptr<inode> const &; + [[nodiscard]] auto root_dentry() const -> kstd::shared_ptr<dentry> const &; + + auto set_root_dentry(kstd::shared_ptr<dentry> dentry) -> void; protected: kstd::shared_ptr<inode> m_root_inode{}; kstd::shared_ptr<devices::device> m_device{}; kstd::vector<kstd::shared_ptr<inode>> m_inodes{}; + kstd::shared_ptr<dentry> m_root_dentry; }; } // namespace filesystem diff --git a/kernel/src/filesystem/filesystem.cpp b/kernel/src/filesystem/filesystem.cpp index 0e33d95..8ebe58f 100644 --- a/kernel/src/filesystem/filesystem.cpp +++ b/kernel/src/filesystem/filesystem.cpp @@ -1,6 +1,7 @@ #include "kernel/filesystem/filesystem.hpp" #include "kernel/devices/device.hpp" +#include "kernel/filesystem/dentry.hpp" #include "kernel/filesystem/inode.hpp" #include <kstd/memory> @@ -21,4 +22,14 @@ namespace filesystem { return m_root_inode; } + + auto filesystem::root_dentry() const -> kstd::shared_ptr<dentry> const & + { + return m_root_dentry; + } + + auto filesystem::set_root_dentry(kstd::shared_ptr<dentry> dentry) -> void + { + m_root_dentry = dentry; + } } // namespace filesystem
\ No newline at end of file |
