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/include/filesystem/inode.hpp | 14 ++++++++++++ .../filesystem/include/filesystem/inode_file.hpp | 25 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 kernel/filesystem/include/filesystem/inode.hpp create mode 100644 kernel/filesystem/include/filesystem/inode_file.hpp (limited to 'kernel/filesystem/include') diff --git a/kernel/filesystem/include/filesystem/inode.hpp b/kernel/filesystem/include/filesystem/inode.hpp new file mode 100644 index 0000000..44ec09a --- /dev/null +++ b/kernel/filesystem/include/filesystem/inode.hpp @@ -0,0 +1,14 @@ +#ifndef TEACH_OS_KERNEL_FILESYSTEM_INODE_HPP +#define TEACH_OS_KERNEL_FILESYSTEM_INODE_HPP + +#include +namespace filesystem +{ + struct inode + { + auto read(void * buffer, size_t offset, size_t size) const -> size_t; + auto write(void const * buffer, size_t offset, size_t size) -> size_t; + }; +} // namespace filesystem + +#endif diff --git a/kernel/filesystem/include/filesystem/inode_file.hpp b/kernel/filesystem/include/filesystem/inode_file.hpp new file mode 100644 index 0000000..c091280 --- /dev/null +++ b/kernel/filesystem/include/filesystem/inode_file.hpp @@ -0,0 +1,25 @@ +#ifndef TEACH_OS_KERNEL_FILESYSTEM_INODE_FILE_HPP +#define TEACH_OS_KERNEL_FILESYSTEM_INODE_FILE_HPP + +#include "filesystem/file.hpp" +#include "filesystem/inode.hpp" + +#include + +namespace filesystem +{ + struct inode_file : file + { + explicit inode_file(inode * inode); + + auto open() -> void override; + + auto read(void * buffer, size_t offset, size_t size) const -> size_t override; + auto write(void const * buffer, size_t offset, size_t size) -> size_t override; + + private: + inode * m_inode; + }; +} // namespace filesystem + +#endif \ No newline at end of file -- cgit v1.2.3