19 #ifndef __FOTA_CANDIDATE_H_ 20 #define __FOTA_CANDIDATE_H_ 22 #include "fota/fota_base.h" 24 #if MBED_CLOUD_CLIENT_FOTA_ENABLE 26 #include "fota/fota_header_info.h" 27 #include "fota/fota_crypto_defs.h" 39 FOTA_CANDIDATE_ITERATE_START,
40 FOTA_CANDIDATE_ITERATE_FRAGMENT,
41 FOTA_CANDIDATE_ITERATE_FINISH,
42 } fota_candidate_iterate_status;
45 typedef uint16_t fota_candidate_block_checksum_t;
58 fota_candidate_iterate_status status;
62 fota_header_info_t *header_info;
64 } fota_candidate_iterate_callback_info;
74 size_t storage_start_addr;
75 } fota_candidate_config_t;
83 void fota_candidate_set_config(fota_candidate_config_t *in_fota_candidate_config);
90 const fota_candidate_config_t *fota_candidate_get_config(
void);
98 typedef int (*fota_candidate_iterate_handler_t)(fota_candidate_iterate_callback_info *info);
100 #define FOTA_CANDIDATE_SKIP_VALIDATION 0x27 112 int fota_candidate_iterate_image(uint8_t validate,
bool force_encrypt,
const char *expected_comp_name,
113 uint32_t install_alignment, fota_candidate_iterate_handler_t handler);
124 int fota_candidate_read_candidate_ready_header(
size_t *addr, uint32_t bd_read_size, uint32_t bd_prog_size,
125 fota_candidate_ready_header_t *header);
136 int fota_candidate_read_header(
size_t *addr, uint32_t bd_read_size, uint32_t bd_prog_size, fota_header_info_t *header);
143 int fota_candidate_erase(
void);
149 #endif // MBED_CLOUD_CLIENT_FOTA_ENABLE 151 #endif // __FOTA_CANDIDATE_H_