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_ */
|