aboutsummaryrefslogtreecommitdiff
path: root/kernel/include/kernel/filesystem/inode.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/include/kernel/filesystem/inode.hpp')
-rw-r--r--kernel/include/kernel/filesystem/inode.hpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/kernel/include/kernel/filesystem/inode.hpp b/kernel/include/kernel/filesystem/inode.hpp
index 79cbcf9..8c9f75e 100644
--- a/kernel/include/kernel/filesystem/inode.hpp
+++ b/kernel/include/kernel/filesystem/inode.hpp
@@ -1,12 +1,12 @@
#ifndef TEACH_OS_KERNEL_FILESYSTEM_INODE_HPP
#define TEACH_OS_KERNEL_FILESYSTEM_INODE_HPP
-#include "kernel/filesystem/file.hpp"
-
#include <kstd/memory>
namespace filesystem
{
+ struct file;
+
struct inode
{
enum class inode_kind
@@ -20,12 +20,12 @@ namespace filesystem
virtual ~inode() = default;
+ [[nodiscard]] virtual auto open_file(kstd::shared_ptr<inode> const & self) const -> kstd::shared_ptr<file> = 0;
+
[[nodiscard]] auto is_directory() const -> bool;
[[nodiscard]] auto is_regular() const -> bool;
[[nodiscard]] auto is_device() const -> bool;
- [[nodiscard]] virtual auto open_file() const -> kstd::shared_ptr<file> = 0;
-
private:
inode_kind m_kind{inode_kind::regular};
};