12 #ifndef INCLUDE_DISTORTOS_DEVICES_MEMORY_BLOCKDEVICETOMEMORYTECHNOLOGYDEVICE_HPP_ 13 #define INCLUDE_DISTORTOS_DEVICES_MEMORY_BLOCKDEVICETOMEMORYTECHNOLOGYDEVICE_HPP_ 94 int erase(uint64_t address, uint64_t size)
override;
118 uint64_t
getSize()
const override;
135 void lock()
override;
170 int program(uint64_t address,
const void* buffer,
size_t size)
override;
190 int read(uint64_t address,
void* buffer,
size_t size)
override;
237 #endif // INCLUDE_DISTORTOS_DEVICES_MEMORY_BLOCKDEVICETOMEMORYTECHNOLOGYDEVICE_HPP_ uint64_t pendingEraseSize_
size of pending erase range
Definition: BlockDeviceToMemoryTechnologyDevice.hpp:224
size_t getProgramBlockSize() const override
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:114
uint8_t openCount_
number of times this device was opened but not yet closed
Definition: BlockDeviceToMemoryTechnologyDevice.hpp:230
MemoryTechnologyDevice class header.
void unlock() override
Unlocks the device which was previously locked by current thread.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:267
uint64_t pendingEraseAddress_
address of pending erase range, valid only if pendingEraseSize_ != 0
Definition: BlockDeviceToMemoryTechnologyDevice.hpp:221
void lock() override
Locks the device for exclusive use by current thread.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:129
int read(uint64_t address, void *buffer, size_t size) override
Reads data from a device.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:197
size_t getEraseBlockSize() const override
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:109
int erase(uint64_t address, uint64_t size) override
Erases blocks on a device.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:74
int close() override
Closes device.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:48
Definition: MemoryTechnologyDevice.hpp:30
Top-level namespace of distortos project.
Definition: buttons.hpp:33
uint64_t getSize() const override
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:124
Definition: BlockDeviceToMemoryTechnologyDevice.hpp:32
Definition: BlockDevice.hpp:30
constexpr BlockDeviceToMemoryTechnologyDevice(BlockDevice &blockDevice)
BlockDeviceToMemoryTechnologyDevice's constructor.
Definition: BlockDeviceToMemoryTechnologyDevice.hpp:42
~BlockDeviceToMemoryTechnologyDevice() override
BlockDeviceToMemoryTechnologyDevice's destructor.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:43
int program(uint64_t address, const void *buffer, size_t size) override
Programs data to a device.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:151
int synchronize() override
Synchronizes state of a device, ensuring all cached writes are finished.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:248
size_t getReadBlockSize() const override
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:119
int open() override
Opens device.
Definition: BlockDeviceToMemoryTechnologyDevice.cpp:134
BlockDevice & blockDevice_
reference to associated block device
Definition: BlockDeviceToMemoryTechnologyDevice.hpp:227