Line data Source code
1 1 : /* 2 : * Copyright (c) 2023 Nordic Semiconductor ASA 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : /** 8 : * @file 9 : * @brief Public API for boot mode interface 10 : */ 11 : 12 : #ifndef ZEPHYR_INCLUDE_RETENTION_BLINFO_ 13 : #define ZEPHYR_INCLUDE_RETENTION_BLINFO_ 14 : 15 : #include <stdint.h> 16 : #include <stddef.h> 17 : #include <zephyr/kernel.h> 18 : 19 : #if defined(CONFIG_RETENTION_BOOTLOADER_INFO_TYPE_MCUBOOT) 20 : #include <bootutil/boot_status.h> 21 : #endif 22 : 23 : #ifdef __cplusplus 24 : extern "C" { 25 : #endif 26 : 27 : /** 28 : * @brief Bootloader info interface 29 : * @defgroup bootloader_info_interface Bootloader info interface 30 : * @since 3.5 31 : * @version 0.1.0 32 : * @ingroup retention_api 33 : * @{ 34 : */ 35 : 36 : #if defined(CONFIG_RETENTION_BOOTLOADER_INFO_OUTPUT_FUNCTION) || defined(__DOXYGEN__) 37 : /** 38 : * @brief Returns bootinfo information. 39 : * 40 : * @param key The information to return (for MCUboot: minor TLV). 41 : * @param val Where the return information will be placed. 42 : * @param val_len_max The maximum size of the provided buffer. 43 : * 44 : * @retval >= 0 If successful (contains length of read value) 45 : * @retval -EOVERFLOW If the data is too large to fit the supplied buffer. 46 : * @retval -EIO If the requested key was not found. 47 : * @retval -errno Error code. 48 : */ 49 1 : int blinfo_lookup(uint16_t key, char *val, int val_len_max); 50 : #endif 51 : 52 : /** 53 : * @} 54 : */ 55 : 56 : #ifdef __cplusplus 57 : } 58 : #endif 59 : 60 : #endif /* ZEPHYR_INCLUDE_RETENTION_BLINFO_ */