diff options
Diffstat (limited to 'kernel/include')
| -rw-r--r-- | kernel/include/kernel/test_support/devices/block_device.hpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/kernel/include/kernel/test_support/devices/block_device.hpp b/kernel/include/kernel/test_support/devices/block_device.hpp new file mode 100644 index 0000000..2327fc4 --- /dev/null +++ b/kernel/include/kernel/test_support/devices/block_device.hpp @@ -0,0 +1,31 @@ +#ifndef TEACHOS_KERNEL_TEST_SUPPORT_DEVICES_BLOCK_DEVICE_HPP +#define TEACHOS_KERNEL_TEST_SUPPORT_DEVICES_BLOCK_DEVICE_HPP + +#include "kernel/devices/block_device.hpp" + +#include <kstd/string> +#include <kstd/vector> + +#include <cstddef> +#include <cstdint> + +namespace kernel::tests::devices +{ + + struct block_device : kernel::devices::block_device + { + block_device(size_t major, size_t minor, kstd::string const & name, size_t block_size); + + auto init() -> bool override; + + auto read_block(size_t block_index, void * buffer) const -> void override; + auto write_block(size_t block_index, void const * buffer) -> void override; + + [[nodiscard]] auto size() const -> size_t override; + + kstd::vector<uint8_t> data{}; + }; + +} // namespace kernel::tests::devices + +#endif
\ No newline at end of file |
