ladybird/Kernel/ZeroDevice.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 ZeroDevice final : public CharacterDevice {
AK_MAKE_ETERNAL
public:
ZeroDevice();
virtual ~ZeroDevice() 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 "ZeroDevice"; }
};