13#ifndef ZEPHYR_INCLUDE_STORAGE_STREAM_FLASH_H_
14#define ZEPHYR_INCLUDE_STORAGE_STREAM_FLASH_H_
65#ifdef CONFIG_STREAM_FLASH_ERASE
66 off_t last_erased_page_start_offset;
89 uint8_t *buf,
size_t buf_len,
size_t offset,
size_t size,
124 size_t len,
bool flush);
155 const char *settings_key);
167 const char *settings_key);
179 const char *settings_key);
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa off
Definition asm-macro-32-bit-gnu.h:17
Public API for FLASH drivers.
int(* stream_flash_callback_t)(uint8_t *buf, size_t len, size_t offset)
Signature for callback invoked after flash write completes.
Definition stream_flash.h:48
int stream_flash_progress_load(struct stream_flash_ctx *ctx, const char *settings_key)
Load persistent stream write progress stored with key settings_key .
int stream_flash_init(struct stream_flash_ctx *ctx, const struct device *fdev, uint8_t *buf, size_t buf_len, size_t offset, size_t size, stream_flash_callback_t cb)
Initialize context needed for stream writes to flash.
int stream_flash_progress_save(struct stream_flash_ctx *ctx, const char *settings_key)
Save persistent stream write progress using key settings_key .
int stream_flash_erase_page(struct stream_flash_ctx *ctx, off_t off)
Erase the flash page to which a given offset belongs.
int stream_flash_buffered_write(struct stream_flash_ctx *ctx, const uint8_t *data, size_t len, bool flush)
Process input buffers to be written to flash device in single blocks.
size_t stream_flash_bytes_written(struct stream_flash_ctx *ctx)
Read number of bytes written to the flash.
int stream_flash_progress_clear(struct stream_flash_ctx *ctx, const char *settings_key)
Clear persistent stream write progress stored with key settings_key .
__INTPTR_TYPE__ off_t
Definition types.h:36
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
Runtime device structure (in ROM) per driver instance.
Definition device.h:403
void * data
Address of the device instance private data.
Definition device.h:413
Structure for stream flash context.
Definition stream_flash.h:56
stream_flash_callback_t callback
Definition stream_flash.h:64
uint8_t * buf
Definition stream_flash.h:57
size_t offset
Definition stream_flash.h:62
size_t bytes_written
Definition stream_flash.h:61
size_t buf_bytes
Definition stream_flash.h:59
const struct device * fdev
Definition stream_flash.h:60
size_t write_block_size
Definition stream_flash.h:68
uint8_t erase_value
Definition stream_flash.h:69
size_t available
Definition stream_flash.h:63
size_t buf_len
Definition stream_flash.h:58