aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/inode_file.cpp
diff options
context:
space:
mode:
authormarcel.braun <marcel.braun@ost.ch>2026-03-17 19:36:20 +0100
committermarcel.braun <marcel.braun@ost.ch>2026-03-17 19:36:20 +0100
commit3ace886a9e9f044cd48de51f0a15aceb02bfa9b2 (patch)
tree1dc00e8802ab8fb60809b1f55ae7baadf9e430e1 /kernel/src/filesystem/inode_file.cpp
parent59504cfd677dd3e9d9ddb0deea4df7614efedb84 (diff)
downloadteachos-3ace886a9e9f044cd48de51f0a15aceb02bfa9b2.tar.xz
teachos-3ace886a9e9f044cd48de51f0a15aceb02bfa9b2.zip
Clean up project folder structure
Diffstat (limited to 'kernel/src/filesystem/inode_file.cpp')
-rw-r--r--kernel/src/filesystem/inode_file.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/kernel/src/filesystem/inode_file.cpp b/kernel/src/filesystem/inode_file.cpp
new file mode 100644
index 0000000..7abac7b
--- /dev/null
+++ b/kernel/src/filesystem/inode_file.cpp
@@ -0,0 +1,35 @@
+#include "kernel/filesystem/inode_file.hpp"
+
+#include "kapi/system.hpp"
+
+#include "kernel/filesystem/inode.hpp"
+
+#include <kstd/memory>
+
+#include <cstddef>
+
+namespace filesystem
+{
+ inode_file::inode_file(kstd::shared_ptr<inode> const & 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