/** @file * @brief Keys APIs. */ /* * Copyright (c) 2023 Nordic Semiconductor ASA * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_KEYS_H_ #define ZEPHYR_INCLUDE_BLUETOOTH_MESH_KEYS_H_ #include #if defined CONFIG_BT_MESH_USES_MBEDTLS_PSA || defined CONFIG_BT_MESH_USES_TFM_PSA #include #endif #ifdef __cplusplus extern "C" { #endif #if defined CONFIG_BT_MESH_USES_MBEDTLS_PSA || defined CONFIG_BT_MESH_USES_TFM_PSA /** The structure that keeps representation of key. */ struct bt_mesh_key { /** PSA key representation is the PSA key identifier. */ psa_key_id_t key; }; #elif defined CONFIG_BT_MESH_USES_TINYCRYPT /** The structure that keeps representation of key. */ struct bt_mesh_key { /** tinycrypt key representation is the pure key value. */ uint8_t key[16]; }; #else #error "Crypto library has not been chosen" #endif #ifdef __cplusplus } #endif #endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_KEYS_H_ */