diff --git a/Kernel/FileSystem/FileDescription.cpp b/Kernel/FileSystem/FileDescription.cpp index 13c3850ffd..ad7be299f7 100644 --- a/Kernel/FileSystem/FileDescription.cpp +++ b/Kernel/FileSystem/FileDescription.cpp @@ -172,6 +172,20 @@ bool FileDescription::is_device() const return m_file->is_device(); } +const Device* FileDescription::device() const +{ + if (!is_device()) + return nullptr; + return static_cast(m_file.ptr()); +} + +Device* FileDescription::device() +{ + if (!is_device()) + return nullptr; + return static_cast(m_file.ptr()); +} + bool FileDescription::is_tty() const { return m_file->is_tty(); diff --git a/Kernel/FileSystem/FileDescription.h b/Kernel/FileSystem/FileDescription.h index 8d7f5b499a..d56d8f3619 100644 --- a/Kernel/FileSystem/FileDescription.h +++ b/Kernel/FileSystem/FileDescription.h @@ -71,6 +71,8 @@ public: const File& file() const { return *m_file; } bool is_device() const; + const Device* device() const; + Device* device(); bool is_tty() const; const TTY* tty() const;