/* Bluetooth Mesh */ /* * Copyright (c) 2017 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ #define BT_MESH_KEY_PRIMARY 0x0000 enum bt_mesh_key_evt { BT_MESH_KEY_ADDED, /* New key added */ BT_MESH_KEY_DELETED, /* Existing key deleted */ BT_MESH_KEY_UPDATED, /* KR phase 1, second key added */ BT_MESH_KEY_SWAPPED, /* KR phase 2, now sending on second key */ BT_MESH_KEY_REVOKED, /* KR phase 3, old key removed */ }; /** Appkey callback. Instantiate with @ref BT_MESH_APP_KEY_CB */ struct bt_mesh_app_key_cb { void (*evt_handler)(uint16_t app_idx, uint16_t net_idx, enum bt_mesh_key_evt evt); }; /** @def BT_MESH_APP_KEY_CB * * @brief Register an AppKey event callback. * * @param _handler Handler function, see @ref bt_mesh_app_key_cb::evt_handler. */ #define BT_MESH_APP_KEY_CB_DEFINE(_handler) \ static const Z_STRUCT_SECTION_ITERABLE(bt_mesh_app_key_cb, \ _CONCAT(bt_mesh_app_key_cb_, \ _handler)) = { \ .evt_handler = (_handler), \ } struct bt_mesh_net; int bt_mesh_start(void);