aboutsummaryrefslogtreecommitdiff
path: root/kernel/include
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include')
-rw-r--r--kernel/include/kernel/filesystem/custody.hpp23
-rw-r--r--kernel/include/kernel/filesystem/dentry.hpp25
-rw-r--r--kernel/include/kernel/filesystem/vfs.hpp6
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