Luna/kernel/src/fs/devices/FullDevice.h
apio 187f0ff83e
All checks were successful
continuous-integration/drone/pr Build is passing
kernel: Rename Inode::blocking() to Inode::will_block_if_read()
2023-07-30 11:41:53 +02:00

34 lines
618 B
C++

#pragma once
#include "fs/devices/DeviceRegistry.h"
class FullDevice : public Device
{
public:
// Initializer for DeviceRegistry.
static Result<void> 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 err(ENOSPC);
}
bool will_block_if_read() const override
{
return false;
}
StringView device_path() const override
{
return "full";
}
virtual ~FullDevice() = default;
};