diff options
| author | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-19 21:59:31 +0100 |
|---|---|---|
| committer | Lukas Oesch <lukasoesch20@gmail.com> | 2026-03-26 21:17:22 +0100 |
| commit | 8d3471f1d160d301f9d990455bd8c63450df1cf3 (patch) | |
| tree | 1d92087d254b80849b51337bb0b0632472e62b08 /kernel/src/filesystem/device_inode.cpp | |
| parent | 98b6633ea8e961f8668259dbd4970330494408d5 (diff) | |
| download | teachos-8d3471f1d160d301f9d990455bd8c63450df1cf3.tar.xz teachos-8d3471f1d160d301f9d990455bd8c63450df1cf3.zip | |
remove inode metadata
Diffstat (limited to 'kernel/src/filesystem/device_inode.cpp')
| -rw-r--r-- | kernel/src/filesystem/device_inode.cpp | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/kernel/src/filesystem/device_inode.cpp b/kernel/src/filesystem/device_inode.cpp index b9018b1..18e3b24 100644 --- a/kernel/src/filesystem/device_inode.cpp +++ b/kernel/src/filesystem/device_inode.cpp @@ -1,6 +1,52 @@ #include "kernel/filesystem/device_inode.hpp" +#include "kapi/system.hpp" + +#include "kernel/devices/device.hpp" +#include "kernel/filesystem/inode.hpp" + +#include <kstd/memory> + +#include <cstddef> + namespace filesystem { - // TODO BA-FS26: Implement device inode -}
\ No newline at end of file + device_inode::device_inode(kstd::shared_ptr<devices::device> const & device) + : inode(inode_kind::device) + , m_device(device) + { + if (!device) + { + kapi::system::panic("[FILESYSTEM] device_inode constructed with null device."); + } + } + + 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 + { + 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; + } +} // namespace filesystem
\ No newline at end of file |
