28#ifndef HAL_PERSISTENT_H
29#define HAL_PERSISTENT_H
68#define _base_pers_storage_methods_alone \
70 size_t (*getsize)(void *instance); \
72 ps_error_t (*read)(void *instance, ps_offset_t offset, \
73 size_t n, uint8_t *rp); \
75 ps_error_t (*write)(void *instance, ps_offset_t offset, \
76 size_t n, const uint8_t *wp);
81#define _base_pers_storage_methods \
82 _base_object_methods \
83 _base_pers_storage_methods_alone
95#define _base_persistent_storage_data \
122#define getBasePersistentStorage(ip) ((BasePersistentStorage *)&(ip)->vmt)
132#define psGetStorageSize(ip) \
133 (ip)->vmt->getsize(ip)
149#define psRead(ip, offset, n, rp) \
150 (ip)->vmt->read(ip, offset, n, rp)
166#define psWrite(ip, offset, n, wp) \
167 (ip)->vmt->write(ip, offset, n, wp)
ps_error_t
Type of a persistent storage error code.
#define _base_persistent_storage_data
BasePersistentStorage specific data.
uint32_t ps_offset_t
Type of a persistent storage offset.
#define _base_pers_storage_methods
BasePersistentStorage specific methods with inherited ones.
Base persistent storage class.
const struct BasePersistentStorageVMT * vmt
Virtual Methods Table.
BasePersistentStorage virtual methods table.