diff options
| author | marcel.braun <marcel.braun@ost.ch> | 2026-03-17 19:36:20 +0100 |
|---|---|---|
| committer | marcel.braun <marcel.braun@ost.ch> | 2026-03-17 19:36:20 +0100 |
| commit | 3ace886a9e9f044cd48de51f0a15aceb02bfa9b2 (patch) | |
| tree | 1dc00e8802ab8fb60809b1f55ae7baadf9e430e1 /kernel/filesystem/src/inode.cpp | |
| parent | 59504cfd677dd3e9d9ddb0deea4df7614efedb84 (diff) | |
| download | teachos-3ace886a9e9f044cd48de51f0a15aceb02bfa9b2.tar.xz teachos-3ace886a9e9f044cd48de51f0a15aceb02bfa9b2.zip | |
Clean up project folder structure
Diffstat (limited to 'kernel/filesystem/src/inode.cpp')
| -rw-r--r-- | kernel/filesystem/src/inode.cpp | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/kernel/filesystem/src/inode.cpp b/kernel/filesystem/src/inode.cpp deleted file mode 100644 index 231ee33..0000000 --- a/kernel/filesystem/src/inode.cpp +++ /dev/null @@ -1,108 +0,0 @@ -#include "filesystem/inode.hpp" - -#include "kapi/system.hpp" - -#include "devices/device.hpp" -#include "filesystem/inode_metadata.hpp" - -#include <kstd/memory> - -#include <cstddef> - -namespace filesystem -{ - inode::inode(inode_kind kind) - : m_kind(kind) - {} - - inode::inode(kstd::shared_ptr<devices::device> const & device) - : m_kind(inode_kind::device) - , m_device(device) - { - if (!m_device) - { - kapi::system::panic("[FILESYSTEM] inode constructed with null device."); - } - } - - auto inode::metadata() const -> inode_metadata - { - auto meta = inode_metadata{}; - meta.kind = m_kind; - - if (is_device()) - { - meta.major = m_device->major(); - meta.minor = m_device->minor(); - } - - return meta; - } - - auto inode::is_directory() const -> bool - { - return m_kind == inode_kind::directory; - } - - auto inode::is_regular() const -> bool - { - return m_kind == inode_kind::regular; - } - - auto inode::is_device() const -> bool - { - return m_kind == inode_kind::device; - } - - auto inode::is_block_device() const -> bool - { - return is_device() && m_device->is_block_device(); - } - - auto inode::major_device() const -> size_t - { - if (!is_device()) - { - kapi::system::panic("[FILESYSTEM] inode::major_device called on non-device inode."); - } - - return m_device->major(); - } - - auto inode::minor_device() const -> size_t - { - if (!is_device()) - { - kapi::system::panic("[FILESYSTEM] inode::minor_device called on non-device inode."); - } - - return m_device->minor(); - } - - auto inode::backing_device() const -> kstd::shared_ptr<devices::device> const & - { - return m_device; - } - - auto inode::read(void * /*buffer*/, size_t /*offset*/, size_t /*size*/) const -> size_t - { - if (is_device()) - { - kapi::system::panic("[FILESYSTEM] inode::read called on device inode. Open it as a device file first."); - } - - // TODO BA-FS26 - return 0; - } - - auto inode::write(void const *, size_t, size_t) -> size_t - { - if (is_device()) - { - kapi::system::panic("[FILESYSTEM] inode::write called on device inode. Open it as a device file first."); - } - - kapi::system::panic("[FILESYSTEM] inode::write is not implemented yet"); - return 0; - } -} // namespace filesystem
\ No newline at end of file |
