diff options
Diffstat (limited to 'kernel/include')
| -rw-r--r-- | kernel/include/kernel/filesystem/custody.hpp | 23 | ||||
| -rw-r--r-- | kernel/include/kernel/filesystem/dentry.hpp | 25 | ||||
| -rw-r--r-- | kernel/include/kernel/filesystem/vfs.hpp | 6 |
3 files changed, 28 insertions, 26 deletions
diff --git a/kernel/include/kernel/filesystem/custody.hpp b/kernel/include/kernel/filesystem/custody.hpp deleted file mode 100644 index 8a0e09a..0000000 --- a/kernel/include/kernel/filesystem/custody.hpp +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef TEACH_OS_KERNEL_CUSTODY_HPP -#define TEACH_OS_KERNEL_CUSTODY_HPP - -#include "kernel/filesystem/inode.hpp" - -#include <kstd/memory> - -namespace filesystem -{ - struct custody - { - custody(kstd::shared_ptr<custody> const & parent, kstd::shared_ptr<inode> const & node); - - [[nodiscard]] auto get_inode() const -> kstd::shared_ptr<inode> const &; - [[nodiscard]] auto get_parent() const -> kstd::shared_ptr<custody> const &; - - private: - kstd::shared_ptr<custody> m_parent; - kstd::shared_ptr<inode> m_inode; - }; -} // namespace filesystem - -#endif
\ No newline at end of file diff --git a/kernel/include/kernel/filesystem/dentry.hpp b/kernel/include/kernel/filesystem/dentry.hpp new file mode 100644 index 0000000..1532880 --- /dev/null +++ b/kernel/include/kernel/filesystem/dentry.hpp @@ -0,0 +1,25 @@ +#ifndef TEACH_OS_KERNEL_DENTRY_HPP +#define TEACH_OS_KERNEL_DENTRY_HPP + +#include "kernel/filesystem/inode.hpp" + +#include <kstd/memory> +#include <kstd/vector> + +namespace filesystem +{ + struct dentry + { + dentry(kstd::shared_ptr<dentry> const & parent, kstd::shared_ptr<inode> const & node); + + [[nodiscard]] auto get_inode() const -> kstd::shared_ptr<inode> const &; + [[nodiscard]] auto get_parent() const -> kstd::shared_ptr<dentry> const &; + + private: + kstd::shared_ptr<dentry> m_parent; + kstd::vector<kstd::shared_ptr<dentry>> m_children; + kstd::shared_ptr<inode> m_inode; + }; +} // namespace filesystem + +#endif
\ No newline at end of file diff --git a/kernel/include/kernel/filesystem/vfs.hpp b/kernel/include/kernel/filesystem/vfs.hpp index ca51d90..bcf06f7 100644 --- a/kernel/include/kernel/filesystem/vfs.hpp +++ b/kernel/include/kernel/filesystem/vfs.hpp @@ -2,7 +2,7 @@ #define TEACH_OS_KERNEL_FILESYSTEM_VFS_HPP #include "kernel/devices/device.hpp" -#include "kernel/filesystem/custody.hpp" +#include "kernel/filesystem/dentry.hpp" #include "kernel/filesystem/filesystem.hpp" #include "kernel/filesystem/inode.hpp" #include "kernel/filesystem/mount.hpp" @@ -37,11 +37,11 @@ namespace filesystem vfs() = default; auto make_device_node(kstd::shared_ptr<devices::device> const & device) -> void; - [[nodiscard]] auto resolve_path(std::string_view path) -> std::optional<custody>; + [[nodiscard]] auto resolve_path(std::string_view path) -> std::optional<dentry>; kstd::shared_ptr<filesystem> m_root_fs; std::optional<mount> m_root_mount; - kstd::vector<mount> m_mounts; + kstd::vector<mount> m_mount_table; }; } // namespace filesystem |
