aboutsummaryrefslogtreecommitdiff
path: root/kernel/include
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-04-28 10:55:37 +0200
committerLukas Oesch <lukasoesch20@gmail.com>2026-05-05 14:38:51 +0200
commit6790ab170578594f26e8e84a3e57b80cb6094e21 (patch)
tree49f866ed5f621b108e80d73f6406f2c60037a72c /kernel/include
parentb3209ac2564f21f3b78ecf5e0c05ca346a4a4276 (diff)
downloadkernel-6790ab170578594f26e8e84a3e57b80cb6094e21.tar.xz
kernel-6790ab170578594f26e8e84a3e57b80cb6094e21.zip
add is_symbolic_link method in ext2 inode
Diffstat (limited to 'kernel/include')
-rw-r--r--kernel/include/kernel/filesystem/ext2/filesystem.hpp1
-rw-r--r--kernel/include/kernel/filesystem/ext2/inode.hpp5
-rw-r--r--kernel/include/kernel/filesystem/inode.hpp6
3 files changed, 12 insertions, 0 deletions
diff --git a/kernel/include/kernel/filesystem/ext2/filesystem.hpp b/kernel/include/kernel/filesystem/ext2/filesystem.hpp
index 516e71d..d22433f 100644
--- a/kernel/include/kernel/filesystem/ext2/filesystem.hpp
+++ b/kernel/include/kernel/filesystem/ext2/filesystem.hpp
@@ -35,6 +35,7 @@ namespace kernel::filesystem::ext2
constexpr uint16_t inline mode_mask = 0xF000;
constexpr uint16_t inline mode_regular = 0x8000;
constexpr uint16_t inline mode_directory = 0x4000;
+ constexpr uint16_t inline mode_symbolic_link = 0xA000;
} // namespace constants
/**
diff --git a/kernel/include/kernel/filesystem/ext2/inode.hpp b/kernel/include/kernel/filesystem/ext2/inode.hpp
index 64cdb06..688a1d8 100644
--- a/kernel/include/kernel/filesystem/ext2/inode.hpp
+++ b/kernel/include/kernel/filesystem/ext2/inode.hpp
@@ -81,6 +81,11 @@ namespace kernel::filesystem::ext2
*/
[[nodiscard]] auto is_regular() const -> bool override;
+ /**
+ // TODO BA-FS26
+ */
+ [[nodiscard]] auto is_symbolic_link() const -> bool override;
+
private:
filesystem * m_filesystem;
inode_data m_data{};
diff --git a/kernel/include/kernel/filesystem/inode.hpp b/kernel/include/kernel/filesystem/inode.hpp
index d071a6b..b34b921 100644
--- a/kernel/include/kernel/filesystem/inode.hpp
+++ b/kernel/include/kernel/filesystem/inode.hpp
@@ -57,6 +57,12 @@ namespace kernel::filesystem
@return true if the inode is a device, false otherwise.
*/
[[nodiscard]] virtual auto is_device() const -> bool;
+
+ /**
+ @brief Returns whether the inode is a symbolic link.
+ @return true if the inode is a symbolic link, false otherwise.
+ */
+ [[nodiscard]] virtual auto is_symbolic_link() const -> bool;
};
} // namespace kernel::filesystem