ladybird/Kernel/NullDevice.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

21 lines
572 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(Process&, byte*, ssize_t) override;
virtual ssize_t write(Process&, const byte*, ssize_t) override;
virtual bool can_write(Process&) const override { return true; }
virtual bool can_read(Process&) const override;
virtual const char* class_name() const override { return "NullDevice"; }
};