diff options
Diffstat (limited to 'kernel/kernel/filesystem/filesystem.hpp')
| -rw-r--r-- | kernel/kernel/filesystem/filesystem.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/kernel/filesystem/filesystem.hpp b/kernel/kernel/filesystem/filesystem.hpp index 1264d00d..aa6286bf 100644 --- a/kernel/kernel/filesystem/filesystem.hpp +++ b/kernel/kernel/filesystem/filesystem.hpp @@ -2,6 +2,7 @@ #define TEACH_OS_KERNEL_FILESYSTEM_FILESYSTEM_HPP #include <kernel/filesystem/inode.hpp> +#include <kernel/filesystem/vfs_types.hpp> #include <kstd/memory.hpp> #include <kstd/result.hpp> @@ -54,6 +55,17 @@ namespace kernel::filesystem -> kstd::result<kstd::shared_ptr<inode>> = 0; /** + @brief Creates a new inode with @p name within a @p parent directory. + @param parent The parent directory inode. + @param name The name of the inode to create. + @param inode_type The type of inode to be created. + @return A pointer to the created inode, or a null pointer if creation failed. + */ + [[nodiscard]] virtual auto create_inode(kstd::shared_ptr<inode> const & parent, std::string_view name, + vfs_types::inode_type inode_type) + -> kstd::result<kstd::shared_ptr<inode>> = 0; + + /** @brief Returns a reference to the root inode of the filesystem. */ [[nodiscard]] auto root_inode() const -> kstd::shared_ptr<inode> const &; |
