From 3ace886a9e9f044cd48de51f0a15aceb02bfa9b2 Mon Sep 17 00:00:00 2001 From: "marcel.braun" Date: Tue, 17 Mar 2026 19:36:20 +0100 Subject: Clean up project folder structure --- kernel/src/filesystem/open_file_description.cpp | 35 +++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 kernel/src/filesystem/open_file_description.cpp (limited to 'kernel/src/filesystem/open_file_description.cpp') diff --git a/kernel/src/filesystem/open_file_description.cpp b/kernel/src/filesystem/open_file_description.cpp new file mode 100644 index 0000000..ff4d678 --- /dev/null +++ b/kernel/src/filesystem/open_file_description.cpp @@ -0,0 +1,35 @@ +#include "kernel/filesystem/open_file_description.hpp" + +#include "kernel/filesystem/file.hpp" + +#include +#include + +#include + +namespace filesystem +{ + open_file_description::open_file_description(kstd::shared_ptr const & file) + : m_file(file) + , m_offset(0) + { + if (!file) + { + kstd::os::panic("[FILESYSTEM] open_file_description constructed with null file."); + } + } + + auto open_file_description::read(void * buffer, size_t size) -> size_t + { + auto read_bytes = m_file->read(buffer, m_offset, size); + m_offset += read_bytes; + return read_bytes; + } + + auto open_file_description::write(void const * buffer, size_t size) -> size_t + { + auto written_bytes = m_file->write(buffer, m_offset, size); + m_offset += written_bytes; + return written_bytes; + } +} // namespace filesystem \ No newline at end of file -- cgit v1.2.3