#ifndef SECURE_BOOT_MEMORY_H
#define SECURE_BOOT_MEMORY_H
#ifdef __cplusplus
extern "C" {
#endif
#include "atca_status.h"
#include "atca_command.h"
typedef struct
{
uint32_t start_address;
uint32_t memory_size;
uint32_t version_info;
uint8_t reserved[52]; uint8_t signature[ATCA_SIG_SIZE];
}memory_parameters;
extern ATCA_STATUS secure_boot_init_memory(memory_parameters* memory_params);
extern ATCA_STATUS secure_boot_read_memory(uint8_t* pu8_data, uint32_t* pu32_target_length);
extern ATCA_STATUS secure_boot_write_memory(uint8_t* pu8_data, uint32_t* pu32_target_length);
extern void secure_boot_deinit_memory(memory_parameters* memory_params);
extern ATCA_STATUS secure_boot_mark_full_copy_completion(void);
extern bool secure_boot_check_full_copy_completion(void);
#ifdef __cplusplus
}
#endif
#endif