Line data Source code
1 0 : /* 2 : * Copyright (c) 2021 Nordic Semiconductor ASA 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : #ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_SHELL_H_ 7 : #define ZEPHYR_INCLUDE_BLUETOOTH_MESH_SHELL_H_ 8 : 9 : #include <zephyr/bluetooth/mesh.h> 10 : 11 : #ifdef __cplusplus 12 : extern "C" { 13 : #endif 14 : 15 : /** Maximum number of faults the health server can have. */ 16 1 : #define BT_MESH_SHELL_CUR_FAULTS_MAX 4 17 : 18 : /** 19 : * A helper to define a health publication context for shell with the shell's 20 : * maximum number of faults the element can have. 21 : * 22 : * @param _name Name given to the publication context variable. 23 : */ 24 1 : #define BT_MESH_SHELL_HEALTH_PUB_DEFINE(_name) \ 25 : BT_MESH_HEALTH_PUB_DEFINE(_name, \ 26 : BT_MESH_SHELL_CUR_FAULTS_MAX); 27 : 28 : /** Target context for the mesh shell */ 29 1 : struct bt_mesh_shell_target { 30 : /* Current destination address */ 31 0 : uint16_t dst; 32 : /* Current net index */ 33 0 : uint16_t net_idx; 34 : /* Current app index */ 35 0 : uint16_t app_idx; 36 : }; 37 : 38 : /** @brief External reference to health server */ 39 1 : extern struct bt_mesh_health_srv bt_mesh_shell_health_srv; 40 : 41 : /** @brief External reference to health server metadata */ 42 1 : extern const struct bt_mesh_models_metadata_entry health_srv_meta[]; 43 : 44 : /** @brief External reference to health client */ 45 1 : extern struct bt_mesh_health_cli bt_mesh_shell_health_cli; 46 : 47 : /** @brief External reference to Firmware Update Server */ 48 1 : extern struct bt_mesh_dfu_srv bt_mesh_shell_dfu_srv; 49 : 50 : /** @brief External reference to Firmware Update Client */ 51 1 : extern struct bt_mesh_dfu_cli bt_mesh_shell_dfu_cli; 52 : 53 : /** @brief External reference to BLOB Transfer Server */ 54 1 : extern struct bt_mesh_blob_srv bt_mesh_shell_blob_srv; 55 : 56 : /** @brief External reference to BLOB Transfer Client */ 57 1 : extern struct bt_mesh_blob_cli bt_mesh_shell_blob_cli; 58 : 59 : /** @brief External reference to Remote Provisioning Client */ 60 1 : extern struct bt_mesh_rpr_cli bt_mesh_shell_rpr_cli; 61 : 62 : /** @brief External reference to provisioning handler. */ 63 1 : extern struct bt_mesh_prov bt_mesh_shell_prov; 64 : 65 : /** @brief External reference to shell target context. */ 66 1 : extern struct bt_mesh_shell_target bt_mesh_shell_target_ctx; 67 : 68 : #ifdef __cplusplus 69 : } 70 : #endif 71 : 72 : #endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_SHELL_H_ */