BlockDevice.h
Go to the documentation of this file.
Definition: Partition.h:77
bool erase_range(storage_size_t address, storage_size_t size) override
Erase a region of storage in preparation for writing.
bool allocateBuffers(unsigned numBuffers)
Set number of sector buffers to use.
bool flushBuffers()
std::unique_ptr< BufferList > buffers
Definition: BlockDevice.h:96
storage_size_t getSectorCount() const override
Obtain total number of sectors on this device.
Definition: BlockDevice.h:50
bool write(storage_size_t address, const void *src, size_t size) override
Write data to the storage device.
virtual bool raw_sector_erase_range(storage_size_t address, size_t size)=0
Base class for sector-addressable (block) devices.
Definition: BlockDevice.h:33
static constexpr uint16_t defaultSectorSize
Definition: Components/Storage/src/include/Storage/Device.h:182
size_t getBlockSize() const override
Obtain smallest allocation unit for erase operations.
Definition: BlockDevice.h:40
bool read(storage_size_t address, void *dst, size_t size) override
Read data from the storage device.
void update(Function fn, uint32_t sector, uint32_t cacheSector)
std::map< uint32_t, Func > sectors
By sector.
Definition: BlockDevice.h:80
virtual bool raw_sync()=0
Definition: BlockDevice.h:68
constexpr std::enable_if<(sizeof(T)<=4), uint8_t >::type getSizeBits(T value)
Definition: Components/Storage/src/include/Storage/Types.h:49
size_t printTo(Print &p) const
Definition: BlockDevice.h:68
storage_size_t getSize() const override
Obtain addressable size of this device.
Definition: BlockDevice.h:45
Definition: DiskStorage/src/include/Storage/Disk/Buffer.h:17
Definition: BlockDevice.h:69
Represents a storage device (e.g. flash memory)
Definition: Components/Storage/src/include/Storage/Device.h:33
bool flushBuffer(Buffer &buf)
Definition: BlockDevice.h:68
Definition: BlockDevice.h:67
virtual bool raw_sector_write(storage_size_t address, const void *src, size_t size)=0
uint32_t totalCount() const
Definition: BlockDevice.h:72
virtual bool raw_sector_read(storage_size_t address, void *dst, size_t size)=0
1.8.13