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