29 lines
531 B
C
29 lines
531 B
C
|
#pragma once
|
||
|
#include "fs/devices/DeviceRegistry.h"
|
||
|
|
||
|
class ZeroDevice : public Device
|
||
|
{
|
||
|
public:
|
||
|
// Initializer for DeviceRegistry.
|
||
|
static Result<SharedPtr<Device>> create();
|
||
|
|
||
|
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;
|
||
|
}
|
||
|
|
||
|
virtual ~ZeroDevice() = default;
|
||
|
};
|