mirror of
https://github.com/RGBCube/serenity
synced 2025-05-28 03:35:09 +00:00
Start working on virtual consoles/TTYs.
This is a mess right now, but I'd rather commit as I go.
This commit is contained in:
parent
bd2b5327d0
commit
68739dc43e
22 changed files with 611 additions and 344 deletions
|
@ -2,16 +2,26 @@
|
|||
|
||||
#include <AK/Types.h>
|
||||
#include "Limits.h"
|
||||
#include "FileHandle.h"
|
||||
|
||||
class CharacterDevice {
|
||||
public:
|
||||
virtual ~CharacterDevice();
|
||||
|
||||
virtual OwnPtr<FileHandle> open(int options);
|
||||
|
||||
virtual bool hasDataAvailableForRead() const = 0;
|
||||
|
||||
virtual Unix::ssize_t read(byte* buffer, Unix::size_t bufferSize) = 0;
|
||||
virtual Unix::ssize_t write(const byte* buffer, Unix::size_t bufferSize) = 0;
|
||||
|
||||
unsigned major() const { return m_major; }
|
||||
unsigned minor() const { return m_minor; }
|
||||
|
||||
protected:
|
||||
CharacterDevice() { }
|
||||
CharacterDevice(unsigned major, unsigned minor) : m_major(major), m_minor(minor) { }
|
||||
|
||||
private:
|
||||
unsigned m_major { 0 };
|
||||
unsigned m_minor{ 0 };
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue