123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- typedef enum {
- PS_NO_ERROR = 0,
- PS_ERROR_READ = 2,
- PS_ERROR_WRITE= 3,
- PS_ERROR_VERIFY = 5,
- PS_ERROR_HW_FAILURE = 6
- } ps_error_t;
- typedef uint32_t ps_offset_t;
- \
- size_t (*getsize)(void *instance); \
- \
- ps_error_t (*read)(void *instance, ps_offset_t offset, \
- size_t n, uint8_t *rp); \
- \
- ps_error_t (*write)(void *instance, ps_offset_t offset, \
- size_t n, const uint8_t *wp);
- _base_object_methods \
- _base_pers_storage_methods_alone
- struct BasePersistentStorageVMT {
- _base_pers_storage_methods
- };
- _base_object_data
- typedef struct {
-
- const struct BasePersistentStorageVMT *vmt;
- _base_persistent_storage_data
- } BasePersistentStorage;
- (ip)->vmt->getsize(ip)
- (ip)->vmt->read(ip, offset, n, rp)
- (ip)->vmt->write(ip, offset, n, wp)
- extern "C" {
- }
|