aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/device_inode.cpp
diff options
context:
space:
mode:
authorLukas Oesch <lukasoesch20@gmail.com>2026-03-19 22:58:31 +0100
committerLukas Oesch <lukasoesch20@gmail.com>2026-03-26 21:17:23 +0100
commit09e3d0cb2272e7eabd79a320c17c58124515d427 (patch)
treeb48f75b2a2852af3abca953bb3d6320a4f97418c /kernel/src/filesystem/device_inode.cpp
parent8d3471f1d160d301f9d990455bd8c63450df1cf3 (diff)
downloadteachos-09e3d0cb2272e7eabd79a320c17c58124515d427.tar.xz
teachos-09e3d0cb2272e7eabd79a320c17c58124515d427.zip
first try to simplify the architecture (remove redundant inode_file and open() methods), add ext2_file placeholder struct
Diffstat (limited to 'kernel/src/filesystem/device_inode.cpp')
-rw-r--r--kernel/src/filesystem/device_inode.cpp32
1 files changed, 4 insertions, 28 deletions
diff --git a/kernel/src/filesystem/device_inode.cpp b/kernel/src/filesystem/device_inode.cpp
index 18e3b24..592637d 100644
--- a/kernel/src/filesystem/device_inode.cpp
+++ b/kernel/src/filesystem/device_inode.cpp
@@ -3,12 +3,12 @@
#include "kapi/system.hpp"
#include "kernel/devices/device.hpp"
+#include "kernel/filesystem/device_file.hpp"
+#include "kernel/filesystem/file.hpp"
#include "kernel/filesystem/inode.hpp"
#include <kstd/memory>
-#include <cstddef>
-
namespace filesystem
{
device_inode::device_inode(kstd::shared_ptr<devices::device> const & device)
@@ -21,32 +21,8 @@ namespace filesystem
}
}
- auto device_inode::backing_device() const -> kstd::shared_ptr<devices::device> const &
- {
- return m_device;
- }
-
- auto device_inode::read(void * /*buffer*/, size_t /*offset*/, size_t /*size*/) const -> size_t
+ auto device_inode::open_file() const -> kstd::shared_ptr<file>
{
- if (!m_device)
- {
- kapi::system::panic("[FILESYSTEM] device_inode has null device.");
- }
-
- // TODO BA-FS26 use device file?
- // return m_device->read(buffer, offset, size);
- return 0;
- }
-
- auto device_inode::write(void const * /*buffer*/, size_t /*offset*/, size_t /*size*/) -> size_t
- {
- if (!m_device)
- {
- kapi::system::panic("[FILESYSTEM] device_inode has null device.");
- }
-
- // TODO BA-FS26 use device file?
- // return m_device->write(buffer, offset, size);
- return 0;
+ return kstd::make_shared<device_file>(m_device);
}
} // namespace filesystem \ No newline at end of file