summaryrefslogtreecommitdiff
path: root/Kernel/SlavePTY.h
diff options
context:
space:
mode:
authorAndreas Kling <awesomekling@gmail.com>2019-01-16 13:36:10 +0100
committerAndreas Kling <awesomekling@gmail.com>2019-01-16 13:39:32 +0100
commit9dd29f9aa97260c46e28ea40b987e3afb65c7251 (patch)
treea133f43f81edd841ef56acf5cdc4c5a09d469880 /Kernel/SlavePTY.h
parentb46ae2bf094f8c1f59f117ded5c224980536de9f (diff)
downloadserenity-9dd29f9aa97260c46e28ea40b987e3afb65c7251.zip
Add a PTY multiplexer (/dev/ptmx) device.
When you open /dev/ptmx, you get a file descriptor pointing to one of the available MasterPTY's. If none are available, you get an EBUSY. This makes it possible to open multiple (up to 4) Terminals. :^) To support this, I also added a CharacterDevice::open() that gets control when VFS is opening a CharacterDevice. This is useful when we want to return a custom FileDescriptor like we do here.
Diffstat (limited to 'Kernel/SlavePTY.h')
-rw-r--r--Kernel/SlavePTY.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Kernel/SlavePTY.h b/Kernel/SlavePTY.h
index 773dcee6b4..1b01219349 100644
--- a/Kernel/SlavePTY.h
+++ b/Kernel/SlavePTY.h
@@ -5,13 +5,13 @@
class MasterPTY;
class SlavePTY final : public TTY {
- AK_MAKE_ETERNAL
public:
virtual ~SlavePTY() override;
virtual String tty_name() const override;
void on_master_write(const byte*, size_t);
+ unsigned index() const { return m_index; }
protected:
virtual void on_tty_write(const byte*, size_t) override;