|
Zephyr Project API 4.0.0
A Scalable Open Source RTOS
|
Go to the source code of this file.
Data Structures | |
| struct | bindesc_entry |
| struct | bindesc_handle |
Macros | |
| #define | BINDESC_MAGIC 0xb9863e5a7ea46046 |
| #define | BINDESC_ALIGNMENT 4 |
| #define | BINDESC_TYPE_UINT 0x0 |
| #define | BINDESC_TYPE_STR 0x1 |
| #define | BINDESC_TYPE_BYTES 0x2 |
| #define | BINDESC_TYPE_DESCRIPTORS_END 0xf |
| #define | BINDESC_ENTRY_HEADER_SIZE (sizeof(struct bindesc_entry)) |
| #define | BINDESC_ID_APP_VERSION_STRING 0x800 |
| The app version string such as "1.2.3". | |
| #define | BINDESC_ID_APP_VERSION_MAJOR 0x801 |
| The app version major such as 1. | |
| #define | BINDESC_ID_APP_VERSION_MINOR 0x802 |
| The app version minor such as 2. | |
| #define | BINDESC_ID_APP_VERSION_PATCHLEVEL 0x803 |
| The app version patchlevel such as 3. | |
| #define | BINDESC_ID_APP_VERSION_NUMBER 0x804 |
| The app version number such as 0x10203. | |
| #define | BINDESC_ID_APP_BUILD_VERSION 0x805 |
| The app git reference such as "v3.3.0-18-g2c85d9224fca". | |
| #define | BINDESC_ID_KERNEL_VERSION_STRING 0x900 |
| The kernel version string such as "3.4.0". | |
| #define | BINDESC_ID_KERNEL_VERSION_MAJOR 0x901 |
| The kernel version major such as 3. | |
| #define | BINDESC_ID_KERNEL_VERSION_MINOR 0x902 |
| The kernel version minor such as 4. | |
| #define | BINDESC_ID_KERNEL_VERSION_PATCHLEVEL 0x903 |
| The kernel version patchlevel such as 0. | |
| #define | BINDESC_ID_KERNEL_VERSION_NUMBER 0x904 |
| The kernel version number such as 0x30400. | |
| #define | BINDESC_ID_KERNEL_BUILD_VERSION 0x905 |
| The kernel git reference such as "v3.3.0-18-g2c85d9224fca". | |
| #define | BINDESC_ID_BUILD_TIME_YEAR 0xa00 |
| The year the image was compiled in. | |
| #define | BINDESC_ID_BUILD_TIME_MONTH 0xa01 |
| The month of the year the image was compiled in. | |
| #define | BINDESC_ID_BUILD_TIME_DAY 0xa02 |
| The day of the month the image was compiled in. | |
| #define | BINDESC_ID_BUILD_TIME_HOUR 0xa03 |
| The hour of the day the image was compiled in. | |
| #define | BINDESC_ID_BUILD_TIME_MINUTE 0xa04 |
| The minute the image was compiled in. | |
| #define | BINDESC_ID_BUILD_TIME_SECOND 0xa05 |
| The second the image was compiled in. | |
| #define | BINDESC_ID_BUILD_TIME_UNIX 0xa06 |
| The UNIX time (seconds since midnight of 1970/01/01) the image was compiled in. | |
| #define | BINDESC_ID_BUILD_DATE_TIME_STRING 0xa07 |
| The date and time of compilation such as "2023/02/05 00:07:04". | |
| #define | BINDESC_ID_BUILD_DATE_STRING 0xa08 |
| The date of compilation such as "2023/02/05". | |
| #define | BINDESC_ID_BUILD_TIME_STRING 0xa09 |
| The time of compilation such as "00:07:04". | |
| #define | BINDESC_ID_HOST_NAME 0xb00 |
| The name of the host that compiled the image. | |
| #define | BINDESC_ID_C_COMPILER_NAME 0xb01 |
| The C compiler name. | |
| #define | BINDESC_ID_C_COMPILER_VERSION 0xb02 |
| The C compiler version. | |
| #define | BINDESC_ID_CXX_COMPILER_NAME 0xb03 |
| The C++ compiler name. | |
| #define | BINDESC_ID_CXX_COMPILER_VERSION 0xb04 |
| The C++ compiler version. | |
| #define | BINDESC_TAG_DESCRIPTORS_END BINDESC_TAG(DESCRIPTORS_END, 0x0fff) |
| #define | BINDESC_STR_DEFINE(name, id, value) |
| Define a binary descriptor of type string. | |
| #define | BINDESC_UINT_DEFINE(name, id, value) |
| Define a binary descriptor of type uint. | |
| #define | BINDESC_BYTES_DEFINE(name, id, value) |
| Define a binary descriptor of type bytes. | |
| #define | BINDESC_GET_STR(name) BINDESC_NAME(name).data |
| Get the value of a string binary descriptor. | |
| #define | BINDESC_GET_UINT(name) *(uint32_t *)&(BINDESC_NAME(name).data) |
| Get the value of a uint binary descriptor. | |
| #define | BINDESC_GET_BYTES(name) BINDESC_NAME(name).data |
| Get the value of a bytes binary descriptor. | |
| #define | BINDESC_GET_SIZE(name) BINDESC_NAME(name).len |
| Get the size of a binary descriptor. | |
Typedefs | |
| typedef int(* | bindesc_callback_t) (const struct bindesc_entry *entry, void *user_data) |
| Callback type to be called on descriptors found during a walk. | |
Functions | |
| int | bindesc_open_memory_mapped_flash (struct bindesc_handle *handle, size_t offset) |
| Open an image's binary descriptors for reading, from a memory mapped flash. | |
| int | bindesc_open_ram (struct bindesc_handle *handle, const uint8_t *address, size_t max_size) |
| Open an image's binary descriptors for reading, from RAM. | |
| int | bindesc_open_flash (struct bindesc_handle *handle, size_t offset, const struct device *flash_device) |
| Open an image's binary descriptors for reading, from flash. | |
| int | bindesc_foreach (struct bindesc_handle *handle, bindesc_callback_t callback, void *user_data) |
| Walk the binary descriptors and run a user defined callback on each of them. | |
| int | bindesc_find_str (struct bindesc_handle *handle, uint16_t id, const char **result) |
| Find a specific descriptor of type string. | |
| int | bindesc_find_uint (struct bindesc_handle *handle, uint16_t id, const uint32_t **result) |
| Find a specific descriptor of type uint. | |
| int | bindesc_find_bytes (struct bindesc_handle *handle, uint16_t id, const uint8_t **result, size_t *result_size) |
| Find a specific descriptor of type bytes. | |
| int | bindesc_get_size (struct bindesc_handle *handle, size_t *result) |
| Get the size of an image's binary descriptors. | |
Variables | |
| Incorrect memory | layout |
| #define BINDESC_ALIGNMENT 4 |
| #define BINDESC_ENTRY_HEADER_SIZE (sizeof(struct bindesc_entry)) |
| #define BINDESC_MAGIC 0xb9863e5a7ea46046 |
| #define BINDESC_TYPE_BYTES 0x2 |
| #define BINDESC_TYPE_DESCRIPTORS_END 0xf |
| #define BINDESC_TYPE_STR 0x1 |
| #define BINDESC_TYPE_UINT 0x0 |
| Incorrect memory layout |