1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-18 08:25:07 +00:00
serenity/Kernel/Devices/NullDevice.h
Andreas Kling 8cbb7f101f Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.
This will allow us to implement different behaviors depending on the role
of the descriptor a File is being accessed through.
2019-04-29 13:58:40 +02:00

21 lines
600 B
C++

#pragma once
#include "CharacterDevice.h"
class NullDevice final : public CharacterDevice {
AK_MAKE_ETERNAL
public:
NullDevice();
virtual ~NullDevice() override;
static NullDevice& the();
private:
// ^CharacterDevice
virtual ssize_t read(FileDescriptor&, byte*, ssize_t) override;
virtual ssize_t write(FileDescriptor&, const byte*, ssize_t) override;
virtual bool can_write(FileDescriptor&) const override { return true; }
virtual bool can_read(FileDescriptor&) const override;
virtual const char* class_name() const override { return "NullDevice"; }
};