serenity/Kernel/FullDevice.h
Andreas Kling beda478821 Kernel: Make syscalls that take a buffer size use ssize_t instead of size_t.
Dealing with the unsigned overflow propagation here just seems unreasonably
error prone. Let's limit ourselves to 2GB buffer sizes instead.
2019-02-25 21:21:12 +01:00

20 lines
541 B
C++

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