diff --git a/components/bootloader_support/include/esp_app_format.h b/components/bootloader_support/include/esp_app_format.h index 481310d587..299e4a5224 100644 --- a/components/bootloader_support/include/esp_app_format.h +++ b/components/bootloader_support/include/esp_app_format.h @@ -11,6 +11,10 @@ // TODO: IDF-9197 #include "sdkconfig.h" +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief ESP chip ID * @@ -120,3 +124,7 @@ typedef struct { } esp_image_segment_header_t; #define ESP_IMAGE_MAX_SEGMENTS 16 /*!< Max count of segments in the image. */ + +#ifdef __cplusplus +} +#endif diff --git a/components/bootloader_support/private_include/bootloader_console.h b/components/bootloader_support/private_include/bootloader_console.h index 64dd5f8404..0fa8db5fe0 100644 --- a/components/bootloader_support/private_include/bootloader_console.h +++ b/components/bootloader_support/private_include/bootloader_console.h @@ -1,11 +1,15 @@ /* - * SPDX-FileCopyrightText: 2020-2021 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2020-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once +#ifdef __cplusplus +extern "C" { +#endif + /** * @brief Initialize console output (UART or USB) */ @@ -21,3 +25,7 @@ void bootloader_console_deinit(void); * Only defined if USB CDC is used for console output. */ void bootloader_console_write_char_usb(char c); + +#ifdef __cplusplus +} +#endif diff --git a/components/bootloader_support/private_include/bootloader_init.h b/components/bootloader_support/private_include/bootloader_init.h index bbbfe42d29..724643703e 100644 --- a/components/bootloader_support/private_include/bootloader_init.h +++ b/components/bootloader_support/private_include/bootloader_init.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2018-2021 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -8,6 +8,10 @@ #include "esp_err.h" #include "esp_image_format.h" +#ifdef __cplusplus +extern "C" { +#endif + /**@{*/ /** * @brief labels from bootloader linker script: bootloader.ld @@ -49,3 +53,7 @@ void bootloader_print_banner(void); * ESP_FAIL - If the setting is not successful. */ esp_err_t bootloader_init(void); + +#ifdef __cplusplus +} +#endif diff --git a/components/bootloader_support/private_include/bootloader_sha.h b/components/bootloader_support/private_include/bootloader_sha.h index 99079faa04..09b5694da4 100644 --- a/components/bootloader_support/private_include/bootloader_sha.h +++ b/components/bootloader_support/private_include/bootloader_sha.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2017-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -16,6 +16,10 @@ #include #include "esp_err.h" +#ifdef __cplusplus +extern "C" { +#endif + typedef void *bootloader_sha256_handle_t; bootloader_sha256_handle_t bootloader_sha256_start(void); @@ -23,3 +27,7 @@ bootloader_sha256_handle_t bootloader_sha256_start(void); void bootloader_sha256_data(bootloader_sha256_handle_t handle, const void *data, size_t data_len); void bootloader_sha256_finish(bootloader_sha256_handle_t handle, uint8_t *digest); + +#ifdef __cplusplus +} +#endif diff --git a/components/bootloader_support/private_include/bootloader_signature.h b/components/bootloader_support/private_include/bootloader_signature.h index 069aee8e69..5386e1ddae 100644 --- a/components/bootloader_support/private_include/bootloader_signature.h +++ b/components/bootloader_support/private_include/bootloader_signature.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2023 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -29,6 +29,10 @@ #include "esp32c5/rom/secure_boot.h" #endif +#ifdef __cplusplus +extern "C" { +#endif + #if !CONFIG_IDF_TARGET_ESP32 || CONFIG_ESP32_REV_MIN_FULL >= 300 #if CONFIG_SECURE_BOOT_V2_ENABLED || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT @@ -47,3 +51,7 @@ esp_err_t esp_secure_boot_verify_rsa_signature_block(const ets_secure_boot_signa #endif /* CONFIG_SECURE_BOOT_V2_ENABLED || CONFIG_SECURE_SIGNED_APPS_NO_SECURE_BOOT */ #endif + +#ifdef __cplusplus +} +#endif diff --git a/components/bootloader_support/private_include/bootloader_soc.h b/components/bootloader_support/private_include/bootloader_soc.h index a7414fd3f3..8b95742f74 100644 --- a/components/bootloader_support/private_include/bootloader_soc.h +++ b/components/bootloader_support/private_include/bootloader_soc.h @@ -1,10 +1,15 @@ /* - * SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ #pragma once +#ifdef __cplusplus +extern "C" +{ +#endif + /** * @brief Configure analog super WDT reset * @@ -25,3 +30,7 @@ void bootloader_ana_bod_reset_config(bool enable); * @param enable Boolean to enable or disable clock glitch reset */ void bootloader_ana_clock_glitch_reset_config(bool enable); + +#ifdef __cplusplus +} +#endif diff --git a/components/bootloader_support/private_include/bootloader_utility.h b/components/bootloader_support/private_include/bootloader_utility.h index 77d4a9eee0..3867ad4778 100644 --- a/components/bootloader_support/private_include/bootloader_utility.h +++ b/components/bootloader_support/private_include/bootloader_utility.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2018-2021 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2018-2024 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -9,6 +9,11 @@ #include "esp_image_format.h" #include "bootloader_config.h" +#ifdef __cplusplus +extern "C" +{ +#endif + /** * @brief Load partition table. * @@ -16,7 +21,7 @@ * OTA data partition, factory app partition, and test app partition. * * @param[out] bs Bootloader state structure used to save read data. - * @return Return true if the partition table was succesfully loaded and MD5 checksum is valid. + * @return Return true if the partition table was successfully loaded and MD5 checksum is valid. */ bool bootloader_utility_load_partition_table(bootloader_state_t* bs); @@ -120,3 +125,7 @@ void bootloader_debug_buffer(const void *buffer, size_t length, const char *labe * @return ESP_OK if secure boot digest is generated successfully. */ esp_err_t bootloader_sha256_flash_contents(uint32_t flash_offset, uint32_t len, uint8_t *digest); + +#ifdef __cplusplus +} +#endif diff --git a/tools/ci/check_public_headers_exceptions.txt b/tools/ci/check_public_headers_exceptions.txt index 8cfb7b46cc..830de0ad8f 100644 --- a/tools/ci/check_public_headers_exceptions.txt +++ b/tools/ci/check_public_headers_exceptions.txt @@ -36,7 +36,6 @@ components/spi_flash/include/memspi_host_driver.h components/spi_flash/include/spi_flash_chip_driver.h components/spi_flash/include/spi_flash_chip_generic.h -components/bootloader_support/include/esp_app_format.h components/wpa_supplicant/include/ components/wpa_supplicant/port/