| /* |
| * Copyright (c) 2017 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef __MODEL_CLI_H__ |
| #define __MODEL_CLI_H__ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| struct bt_mesh_gen_model_cli { |
| struct bt_mesh_model *model; |
| |
| struct k_sem op_sync; |
| uint32_t op_pending; |
| void *op_param; |
| }; |
| |
| extern const struct bt_mesh_model_op gen_onoff_cli_op[]; |
| extern const struct bt_mesh_model_cb bt_mesh_gen_onoff_cli_cb; |
| |
| #define BT_MESH_MODEL_GEN_ONOFF_CLI(cli_data, pub) \ |
| BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_GEN_ONOFF_CLI, gen_onoff_cli_op, pub,\ |
| cli_data, &bt_mesh_gen_onoff_cli_cb) |
| |
| extern const struct bt_mesh_model_op gen_level_cli_op[]; |
| extern const struct bt_mesh_model_cb bt_mesh_gen_level_cli_cb; |
| |
| #define BT_MESH_MODEL_GEN_LEVEL_CLI(cli_data, pub) \ |
| BT_MESH_MODEL_CB(BT_MESH_MODEL_ID_GEN_LEVEL_CLI, gen_level_cli_op, pub,\ |
| cli_data, &bt_mesh_gen_level_cli_cb) |
| |
| int bt_mesh_gen_onoff_get(uint16_t net_idx, uint16_t addr, uint16_t app_idx, |
| uint8_t *state); |
| int bt_mesh_gen_onoff_set(uint16_t net_idx, uint16_t addr, uint16_t app_idx, |
| uint8_t val, uint8_t *state); |
| int bt_mesh_gen_level_get(uint16_t net_idx, uint16_t addr, uint16_t app_idx, |
| int16_t *level); |
| int bt_mesh_gen_level_set(uint16_t net_idx, uint16_t addr, uint16_t app_idx, |
| int16_t val, int16_t *state); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* __MODEL_CLI_H__ */ |