diff options
author | Benji Dial <benji@benjidial.net> | 2024-01-10 00:17:29 -0500 |
---|---|---|
committer | Benji Dial <benji@benjidial.net> | 2024-01-10 00:17:29 -0500 |
commit | 15e62510104bc0e2b9180b66e5845d985cac03cc (patch) | |
tree | fa950c29622823a825a523e63de610746a70cbe1 /include/mercury/kernel/bd/memory.hpp | |
parent | c2f48fb5df0981df1df23de2b277274f9fe75080 (diff) | |
download | hilbert-os-15e62510104bc0e2b9180b66e5845d985cac03cc.tar.gz |
partial (largely untested) memory block device and tar file system support
Diffstat (limited to 'include/mercury/kernel/bd/memory.hpp')
-rw-r--r-- | include/mercury/kernel/bd/memory.hpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/include/mercury/kernel/bd/memory.hpp b/include/mercury/kernel/bd/memory.hpp new file mode 100644 index 0000000..079abee --- /dev/null +++ b/include/mercury/kernel/bd/memory.hpp @@ -0,0 +1,23 @@ +#ifndef MERCURY_KERNEL_BD_MEMORY_HPP +#define MERCURY_KERNEL_BD_MEMORY_HPP + +#include <mercury/kernel/storage.hpp> + +namespace mercury::kernel::bd { + + class memory : public storage::block_device { + + private: + uint8_t *buffer; + + public: + memory(void *buffer, size_t buffer_len); + + storage::io_result read_blocks_no_cache(uint64_t start, uint64_t count, void *into) override; + storage::io_result write_blocks_no_cache(uint64_t start, uint64_t count, const void *from) override; + + }; + +} + +#endif |