ladybird/Kernel/NullDevice.h
Andreas Kling 111589a558 Kernel: Make sure processes always start out with fds 0, 1 and 2 open.
If we don't have a TTY for the process, fall back to /dev/null.
2019-02-12 11:25:25 +01:00

22 lines
611 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* buffer, size_t bufferSize) override;
virtual ssize_t write(Process&, const byte* buffer, size_t bufferSize) 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 "CharacterDevice"; }
};