12 #ifndef INCLUDE_DISTORTOS_DEVICES_MEMORY_BLOCKDEVICE_HPP_ 13 #define INCLUDE_DISTORTOS_DEVICES_MEMORY_BLOCKDEVICE_HPP_ 53 virtual int close() = 0;
68 virtual int erase(uint64_t address, uint64_t size) = 0;
80 virtual uint64_t
getSize()
const = 0;
97 virtual void lock() = 0;
107 virtual int open() = 0;
123 virtual int read(uint64_t address,
void* buffer,
size_t size) = 0;
145 virtual void unlock() = 0;
161 virtual int write(uint64_t address,
const void* buffer,
size_t size) = 0;
172 #endif // INCLUDE_DISTORTOS_DEVICES_MEMORY_BLOCKDEVICE_HPP_ virtual ~BlockDevice()=default
BlockDevice's destructor.
virtual int close()=0
Closes device.
virtual void unlock()=0
Unlocks the device which was previously locked by current thread.
virtual uint64_t getSize() const =0
virtual int open()=0
Opens device.
virtual int synchronize()=0
Synchronizes state of a device, ensuring all cached writes are finished.
Top-level namespace of distortos project.
Definition: buttons.hpp:33
Definition: BlockDevice.hpp:30
virtual size_t getBlockSize() const =0
virtual int write(uint64_t address, const void *buffer, size_t size)=0
Writes data to a device.
virtual int erase(uint64_t address, uint64_t size)=0
Erases blocks on a device.
virtual int read(uint64_t address, void *buffer, size_t size)=0
Reads data from a device.
virtual void lock()=0
Locks the device for exclusive use by current thread.