mirror of
https://github.com/RGBCube/serenity
synced 2025-07-27 02:57:44 +00:00
Kernel: Rename Console => ConsoleDevice
This change will help to distinguish between the console device and the Console abstraction layer in the Graphics subsystem later.
This commit is contained in:
parent
0669dd82e2
commit
8f2ddde4cb
7 changed files with 28 additions and 24 deletions
44
Kernel/ConsoleDevice.h
Normal file
44
Kernel/ConsoleDevice.h
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AK/CircularQueue.h>
|
||||
#include <AK/Vector.h>
|
||||
#include <Kernel/Devices/CharacterDevice.h>
|
||||
|
||||
namespace Kernel {
|
||||
|
||||
class ConsoleDevice final : public CharacterDevice {
|
||||
AK_MAKE_ETERNAL
|
||||
public:
|
||||
static ConsoleDevice& the();
|
||||
static void initialize();
|
||||
static bool is_initialized();
|
||||
|
||||
ConsoleDevice();
|
||||
virtual ~ConsoleDevice() override;
|
||||
|
||||
// ^CharacterDevice
|
||||
virtual bool can_read(const Kernel::FileDescription&, size_t) const override;
|
||||
virtual bool can_write(const Kernel::FileDescription&, size_t) const override { return true; }
|
||||
virtual Kernel::KResultOr<size_t> read(FileDescription&, u64, Kernel::UserOrKernelBuffer&, size_t) override;
|
||||
virtual Kernel::KResultOr<size_t> write(FileDescription&, u64, const Kernel::UserOrKernelBuffer&, size_t) override;
|
||||
virtual const char* class_name() const override { return "Console"; }
|
||||
|
||||
void put_char(char);
|
||||
|
||||
const CircularQueue<char, 16384>& logbuffer() const { return m_logbuffer; }
|
||||
|
||||
// ^Device
|
||||
virtual mode_t required_mode() const override { return 0666; }
|
||||
virtual String device_name() const override { return "console"; }
|
||||
|
||||
private:
|
||||
CircularQueue<char, 16384> m_logbuffer;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue