Luna/kernel/src/fs/devices/FramebufferDevice.h

34 lines
712 B
C++

#pragma once
#include "fs/devices/DeviceRegistry.h"
class FramebufferDevice : public Device
{
public:
// Initializer for DeviceRegistry.
static Result<void> create();
Result<usize> read(u8*, usize, usize) const override;
Result<usize> write(const u8*, usize, usize) override;
Result<u64> query_shared_memory(off_t offset, usize count) override;
bool will_block_if_read() const override;
bool is_block_device() const override
{
return true;
}
Result<u64> ioctl(int request, void* arg) override;
usize size() const override;
StringView device_path() const override
{
return "fb0";
}
virtual ~FramebufferDevice() = default;
};