aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/ext2/inode.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-04-28 10:49:34 +0200
committerLukas Oesch <lukasoesch20@gmail.com>2026-05-05 14:38:51 +0200
commitb3209ac2564f21f3b78ecf5e0c05ca346a4a4276 (patch)
tree25c859242bbe610ba8cdb132ed6776edafbe7049 /kernel/src/filesystem/ext2/inode.cpp
parent3082340fa8ab3c7c0da5d2f9d321d2367d399b20 (diff)
downloadkernel-b3209ac2564f21f3b78ecf5e0c05ca346a4a4276.tar.xz
kernel-b3209ac2564f21f3b78ecf5e0c05ca346a4a4276.zip
refactor inode kind
Diffstat (limited to 'kernel/src/filesystem/ext2/inode.cpp')
-rw-r--r--kernel/src/filesystem/ext2/inode.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/kernel/src/filesystem/ext2/inode.cpp b/kernel/src/filesystem/ext2/inode.cpp
index c45c41e..279c84f 100644
--- a/kernel/src/filesystem/ext2/inode.cpp
+++ b/kernel/src/filesystem/ext2/inode.cpp
@@ -11,9 +11,9 @@
namespace kernel::filesystem::ext2
{
- inode::inode(filesystem * fs)
- : kernel::filesystem::inode(inode_kind::regular)
- , m_filesystem(fs)
+ inode::inode(filesystem * fs, inode_data const & data)
+ : m_filesystem(fs)
+ , m_data(data)
{
if (!m_filesystem)
{
@@ -57,4 +57,19 @@ namespace kernel::filesystem::ext2
kapi::system::panic("[EXT2] inode::write is not implemented yet");
return 0;
}
+
+ [[nodiscard]] auto inode::data() const -> inode_data const &
+ {
+ return m_data;
+ }
+
+ auto inode::is_regular() const -> bool
+ {
+ return (m_data.mode & constants::mode_mask) == constants::mode_regular;
+ }
+
+ auto inode::is_directory() const -> bool
+ {
+ return (m_data.mode & constants::mode_mask) == constants::mode_directory;
+ }
} // namespace kernel::filesystem::ext2