#include "kernel/filesystem/device_inode.hpp" #include "kapi/system.hpp" #include "kernel/devices/device.hpp" #include "kernel/filesystem/inode.hpp" #include #include namespace filesystem { device_inode::device_inode(kstd::shared_ptr 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 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