diff options
| author | marcel.braun <marcel.braun@ost.ch> | 2026-03-15 14:18:16 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-17 16:42:58 +0100 |
| commit | 6234691efe02fa095c6efa476606e8c5ff579710 (patch) | |
| tree | 23501421b69a83918c676efb090ec527357fd1eb /kernel/filesystem/include | |
| parent | 0e6a3205dccbc44b61cf9eb2d9ea906149f8295f (diff) | |
| download | teachos-6234691efe02fa095c6efa476606e8c5ff579710.tar.xz teachos-6234691efe02fa095c6efa476606e8c5ff579710.zip | |
Add inode_file and inode structure
Diffstat (limited to 'kernel/filesystem/include')
| -rw-r--r-- | kernel/filesystem/include/filesystem/inode.hpp | 14 | ||||
| -rw-r--r-- | kernel/filesystem/include/filesystem/inode_file.hpp | 25 |
2 files changed, 39 insertions, 0 deletions
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 <cstddef> +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 <cstddef> + +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 |
