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