From 6234691efe02fa095c6efa476606e8c5ff579710 Mon Sep 17 00:00:00 2001 From: "marcel.braun" Date: Sun, 15 Mar 2026 14:18:16 +0100 Subject: Add inode_file and inode structure --- kernel/filesystem/src/inode.cpp | 20 ++++++++++++++++++++ kernel/filesystem/src/inode_file.cpp | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 kernel/filesystem/src/inode.cpp create mode 100644 kernel/filesystem/src/inode_file.cpp (limited to 'kernel/filesystem/src') diff --git a/kernel/filesystem/src/inode.cpp b/kernel/filesystem/src/inode.cpp new file mode 100644 index 0000000..7bca507 --- /dev/null +++ b/kernel/filesystem/src/inode.cpp @@ -0,0 +1,20 @@ +#include "filesystem/inode.hpp" + +#include "kapi/system.hpp" + +#include + +namespace filesystem +{ + auto inode::read(void * /*buffer*/, size_t /*offset*/, size_t /*size*/) const -> size_t + { + // TODO BA-FS26 + return 0; + } + + auto inode::write(void const *, size_t, size_t) -> size_t + { + kapi::system::panic("[FILESYSTEM] inode::write is not implemented yet"); + return 0; + } +} // namespace filesystem \ No newline at end of file diff --git a/kernel/filesystem/src/inode_file.cpp b/kernel/filesystem/src/inode_file.cpp new file mode 100644 index 0000000..071661f --- /dev/null +++ b/kernel/filesystem/src/inode_file.cpp @@ -0,0 +1,33 @@ +#include "filesystem/inode_file.hpp" + +#include "kapi/system.hpp" + +#include "filesystem/inode.hpp" + +#include + +namespace filesystem +{ + inode_file::inode_file(inode * inode) + : m_inode(inode) + { + if (!m_inode) + { + kapi::system::panic("[FILESYSTEM] inode_file constructed with null inode"); + } + } + + auto inode_file::open() -> void + { + // Hook point for permission checks or lazy metadata loading. + } + + auto inode_file::read(void * buffer, size_t offset, size_t size) const -> size_t + { + return m_inode->read(buffer, offset, size); + } + auto inode_file::write(void const * buffer, size_t offset, size_t size) -> size_t + { + return m_inode->write(buffer, offset, size); + } +} // namespace filesystem \ No newline at end of file -- cgit v1.2.3