ladybird/Kernel/Devices/RandomDevice.h

21 lines
608 B
C
Raw Normal View History

2018-10-15 01:44:54 +03:00
#pragma once
#include "CharacterDevice.h"
class RandomDevice final : public CharacterDevice {
AK_MAKE_ETERNAL
2018-10-15 01:44:54 +03:00
public:
RandomDevice();
virtual ~RandomDevice() override;
2018-10-15 01:44:54 +03:00
static u32 random_value();
private:
// ^CharacterDevice
virtual ssize_t read(FileDescription&, u8*, ssize_t) override;
virtual ssize_t write(FileDescription&, const u8*, ssize_t) override;
virtual bool can_read(FileDescription&) const override;
virtual bool can_write(FileDescription&) const override { return true; }
virtual const char* class_name() const override { return "RandomDevice"; }
2018-10-15 01:44:54 +03:00
};