#pragma once #include #include class Process; class SlavePTY; class DevPtsFS final : public SynthFS { public: [[gnu::pure]] static DevPtsFS& the(); virtual ~DevPtsFS() override; static RetainPtr create(); virtual bool initialize() override; virtual const char* class_name() const override; void register_slave_pty(SlavePTY&); void unregister_slave_pty(SlavePTY&); private: DevPtsFS(); RetainPtr create_slave_pty_device_file(unsigned index); HashTable m_slave_ptys; };