From 3393b786238b43ac1faef20fb393d4efd3d8ce3c Mon Sep 17 00:00:00 2001 From: Sergey Bugaev Date: Sun, 12 Jan 2020 18:28:23 +0300 Subject: [PATCH] Kernel: Allow getting a Device from a FileDescription Like we already do for other kinds of files. --- Kernel/FileSystem/FileDescription.cpp | 14 ++++++++++++++ Kernel/FileSystem/FileDescription.h | 2 ++ 2 files changed, 16 insertions(+) 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;