|
- #ifndef PLSR_PERSISTENCE_H
- #define PLSR_PERSISTENCE_H
-
- #include "plsr_address_map.h"
- #include <stdint.h>
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- typedef struct
- {
- int32_t runtime[PLSR_HSD_RUNTIME_COUNT];
- int32_t config[PLSR_HSD_CONFIG_COUNT];
- } PLSR_HSD_DATA;
-
- typedef struct
- {
- int32_t config[PLSR_SFD_CONFIG_COUNT];
- } PLSR_SFD_DATA;
-
- typedef enum
- {
- PLSR_PERSISTENCE_OK = 0,
- PLSR_PERSISTENCE_DEFAULTED,
- PLSR_PERSISTENCE_INVALID_ARGUMENT,
- PLSR_PERSISTENCE_VERIFY_FAILED,
- PLSR_PERSISTENCE_NOT_IMPLEMENTED
- } PLSR_PERSISTENCE_RESULT;
-
- PLSR_PERSISTENCE_RESULT PlsrPersistenceLoadHsd(PLSR_HSD_DATA *data);
- PLSR_PERSISTENCE_RESULT PlsrPersistenceSaveHsd(const PLSR_HSD_DATA *data);
- void PlsrPersistenceResetHsd(void);
-
- PLSR_PERSISTENCE_RESULT PlsrPersistenceLoadSfd(PLSR_SFD_DATA *data);
- PLSR_PERSISTENCE_RESULT PlsrPersistenceSaveSfd(const PLSR_SFD_DATA *data);
-
- #ifdef PLSR_HOST_TEST
- void PlsrPersistenceTestResetStorage(void);
- void PlsrPersistenceTestCorruptNewestHsd(void);
- #endif
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* PLSR_PERSISTENCE_H */
|