Luna/kernel/src/fs/devices/ZeroDevice.h

34 lines
598 B
C
Raw Normal View History

2023-03-30 21:19:16 +02:00
#pragma once
#include "fs/devices/DeviceRegistry.h"
class ZeroDevice : public Device
{
public:
// Initializer for DeviceRegistry.
static Result<void> create();
2023-03-30 21:19:16 +02:00
Result<usize> read(u8* buf, usize, usize length) const override
{
__builtin_memset(buf, 0, length);
return length;
}
Result<usize> write(const u8*, usize, usize) override
{
return 0;
}
bool blocking() const override
{
return false;
}
StringView device_path() const override
{
return "zero";
}
2023-03-30 21:19:16 +02:00
virtual ~ZeroDevice() = default;
};