| /** @file |
| * @brief Bluetooth Mesh Health Client Model APIs. |
| */ |
| |
| /* |
| * Copyright (c) 2017 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| #ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_HEALTH_CLI_H_ |
| #define ZEPHYR_INCLUDE_BLUETOOTH_MESH_HEALTH_CLI_H_ |
| |
| /** |
| * @brief Bluetooth Mesh |
| * @defgroup bt_mesh_health_cli Bluetooth Mesh Health Client Model |
| * @ingroup bt_mesh |
| * @{ |
| */ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** Mesh Health Client Model Context */ |
| struct bt_mesh_health_cli { |
| struct bt_mesh_model *model; |
| |
| void (*current_status)(struct bt_mesh_health_cli *cli, u16_t addr, |
| u8_t test_id, u16_t cid, u8_t *faults, |
| size_t fault_count); |
| |
| struct k_sem op_sync; |
| u32_t op_pending; |
| void *op_param; |
| }; |
| |
| extern const struct bt_mesh_model_op bt_mesh_health_cli_op[]; |
| |
| #define BT_MESH_MODEL_HEALTH_CLI(cli_data) \ |
| BT_MESH_MODEL(BT_MESH_MODEL_ID_HEALTH_CLI, \ |
| bt_mesh_health_cli_op, NULL, cli_data) |
| |
| int bt_mesh_health_cli_set(struct bt_mesh_model *model); |
| |
| int bt_mesh_health_fault_get(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u16_t cid, u8_t *test_id, u8_t *faults, |
| size_t *fault_count); |
| |
| int bt_mesh_health_fault_clear(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u16_t cid, u8_t *test_id, u8_t *faults, |
| size_t *fault_count); |
| |
| int bt_mesh_health_fault_test(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u16_t cid, u8_t test_id, u8_t *faults, |
| size_t *fault_count); |
| |
| int bt_mesh_health_period_get(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u8_t *divisor); |
| |
| int bt_mesh_health_period_set(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u8_t divisor, u8_t *updated_divisor); |
| |
| int bt_mesh_health_attention_get(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u8_t *attention); |
| |
| int bt_mesh_health_attention_set(u16_t net_idx, u16_t addr, u16_t app_idx, |
| u8_t attention, u8_t *updated_attention); |
| |
| s32_t bt_mesh_health_cli_timeout_get(void); |
| void bt_mesh_health_cli_timeout_set(s32_t timeout); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| /** |
| * @} |
| */ |
| |
| #endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_HEALTH_CLI_H_ */ |