diff options
Diffstat (limited to 'kernel/include')
| -rw-r--r-- | kernel/include/kernel/filesystem/dentry.hpp | 6 | ||||
| -rw-r--r-- | kernel/include/kernel/filesystem/open_file_description.hpp | 2 | ||||
| -rw-r--r-- | kernel/include/kernel/filesystem/vfs.hpp | 2 |
3 files changed, 7 insertions, 3 deletions
diff --git a/kernel/include/kernel/filesystem/dentry.hpp b/kernel/include/kernel/filesystem/dentry.hpp index db15b48..ca7ca95 100644 --- a/kernel/include/kernel/filesystem/dentry.hpp +++ b/kernel/include/kernel/filesystem/dentry.hpp @@ -8,6 +8,7 @@ #include <kstd/vector> #include <cstdint> +#include <string_view> namespace filesystem { @@ -18,11 +19,14 @@ namespace filesystem dcache_mounted = 1 << 15 }; - dentry(kstd::shared_ptr<dentry> const & parent, kstd::shared_ptr<inode> const & node); + dentry(kstd::shared_ptr<dentry> const & parent, kstd::shared_ptr<inode> const & node, std::string_view name = {}); [[nodiscard]] auto get_inode() const -> kstd::shared_ptr<inode> const &; [[nodiscard]] auto get_parent() const -> kstd::shared_ptr<dentry> const &; + auto add_child(kstd::shared_ptr<dentry> const & child) -> void; + [[nodiscard]] auto find_child(std::string_view name) const -> kstd::shared_ptr<dentry>; + auto set_flag(dentry_flags flag) -> void; auto unset_flag(dentry_flags flag) -> void; [[nodiscard]] auto has_flag(dentry_flags flag) const -> bool; diff --git a/kernel/include/kernel/filesystem/open_file_description.hpp b/kernel/include/kernel/filesystem/open_file_description.hpp index 3c97d50..e17f9fe 100644 --- a/kernel/include/kernel/filesystem/open_file_description.hpp +++ b/kernel/include/kernel/filesystem/open_file_description.hpp @@ -11,7 +11,7 @@ namespace filesystem { struct open_file_description { - open_file_description(kstd::shared_ptr<inode> const & inode); + explicit open_file_description(kstd::shared_ptr<inode> const & inode); ~open_file_description() = default; diff --git a/kernel/include/kernel/filesystem/vfs.hpp b/kernel/include/kernel/filesystem/vfs.hpp index b6d4c4c..317f2d1 100644 --- a/kernel/include/kernel/filesystem/vfs.hpp +++ b/kernel/include/kernel/filesystem/vfs.hpp @@ -39,7 +39,7 @@ namespace filesystem auto init_internal() -> void; auto make_device_node(kstd::shared_ptr<devices::device> const & device) -> void; - [[nodiscard]] auto resolve_path(std::string_view path) -> std::optional<dentry>; + [[nodiscard]] auto resolve_path(std::string_view path) -> kstd::shared_ptr<dentry>; kstd::shared_ptr<filesystem> m_root_fs; kstd::shared_ptr<dentry> m_root_dentry; |
