Skip to content

Commit

Permalink
Merge branch 'feature/bootloader_add_extern_c' into 'master'
Browse files Browse the repository at this point in the history
fix(bootloader_support): Add missing c linkage to some headers

Closes IDFGH-12930

See merge request espressif/esp-idf!31300
  • Loading branch information
KonstantinKondrashov committed Jun 5, 2024
2 parents fc01fbf + 100f23a commit 788455f
Show file tree
Hide file tree
Showing 8 changed files with 65 additions and 8 deletions.
8 changes: 8 additions & 0 deletions components/bootloader_support/include/esp_app_format.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@
// TODO: IDF-9197
#include "sdkconfig.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
* @brief ESP chip ID
*
Expand Down Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -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)
*/
Expand All @@ -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
10 changes: 9 additions & 1 deletion components/bootloader_support/private_include/bootloader_init.h
Original file line number Diff line number Diff line change
@@ -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
*/
Expand All @@ -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
Expand Down Expand Up @@ -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
10 changes: 9 additions & 1 deletion components/bootloader_support/private_include/bootloader_sha.h
Original file line number Diff line number Diff line change
@@ -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
*/
Expand All @@ -16,10 +16,18 @@
#include <stdlib.h>
#include "esp_err.h"

#ifdef __cplusplus
extern "C" {
#endif

typedef void *bootloader_sha256_handle_t;

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
Original file line number Diff line number Diff line change
@@ -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
*/
Expand Down Expand Up @@ -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
Expand All @@ -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
11 changes: 10 additions & 1 deletion components/bootloader_support/private_include/bootloader_soc.h
Original file line number Diff line number Diff line change
@@ -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
*
Expand All @@ -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
13 changes: 11 additions & 2 deletions components/bootloader_support/private_include/bootloader_utility.h
Original file line number Diff line number Diff line change
@@ -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
*/
Expand All @@ -9,14 +9,19 @@
#include "esp_image_format.h"
#include "bootloader_config.h"

#ifdef __cplusplus
extern "C"
{
#endif

/**
* @brief Load partition table.
*
* Parse partition table, get useful data such as location of
* 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);

Expand Down Expand Up @@ -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
1 change: 0 additions & 1 deletion tools/ci/check_public_headers_exceptions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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/
Expand Down

0 comments on commit 788455f

Please sign in to comment.