1 /** @file 2 * @brief Bluetooth Mesh Profile APIs. 3 */ 4 5 /* 6 * Copyright (c) 2017 Intel Corporation 7 * 8 * SPDX-License-Identifier: Apache-2.0 9 */ 10 #ifndef _MESH_EVENT_H_ 11 #define _MESH_EVENT_H_ 12 13 typedef enum { 14 BT_MESH_MODEL_EVT_PROV_START = 0x00, 15 BT_MESH_MODEL_EVT_PROV_DATA, 16 17 BT_MESH_MODEL_EVT_APPKEY_ADD, 18 BT_MESH_MODEL_EVT_APPKEY_UPDATE, 19 BT_MESH_MODEL_EVT_APPKEY_DEL, 20 BT_MESH_MODEL_EVT_APPKEY_BIND_STATUS, 21 BT_MESH_MODEL_EVT_APPKEY_STATUS, 22 23 BT_MESH_MODEL_EVT_NETKEY_ADD, 24 BT_MESH_MODEL_EVT_NETKEY_UPDATE, 25 BT_MESH_MODEL_EVT_NETKEY_DEL, 26 BT_MESH_MODEL_EVT_NETKEY_STATUS, 27 BT_MESH_MODEL_EVT_NET_KRP_STATUS, 28 29 BT_MESH_MODEL_EVT_SEQ_UPDATE, 30 31 BT_MESH_MODEL_EVT_COMP_DATA_STATUS, 32 BT_MESH_MODEL_EVT_BEACON_STATUS, 33 BT_MESH_MODEL_EVT_TTL_STATUS, 34 BT_MESH_MODEL_EVT_FRIEND_STATUS, 35 BT_MESH_MODEL_EVT_PROXY_STATUS, 36 BT_MESH_MODEL_EVT_RELAY_STATUS, 37 38 BT_MESH_MODEL_EVT_PUB_STATUS, 39 BT_MESH_MODEL_EVT_SUB_STATUS, 40 41 BT_MESH_MODEL_EVT_SUB_ADD, 42 BT_MESH_MODEL_EVT_SUB_DEL, 43 BT_MESH_MODEL_EVT_SUB_LIST, 44 BT_MESH_MODEL_EVT_SUB_LIST_VND, 45 46 BT_MESH_MODEL_EVT_HB_SUB_STATUS, 47 BT_MESH_MODEL_EVT_HB_PUB_STATUS, 48 /*[Genie begin] add by wenbing.cwb at 2021-01-21*/ 49 #ifdef CONFIG_BT_MESH_CTRL_RELAY 50 BT_MESH_MODEL_EVT_CTRL_RELAY_STATUS, 51 #endif 52 /*[Genie end] add by wenbing.cwb at 2021-01-21*/ 53 BT_MESH_MODEL_EVT_NODE_RESET_OP, 54 BT_MESH_MODEL_EVT_NODE_RESET_STATUS, 55 56 BT_MESH_MODEL_EVT_RPL_IS_FULL, 57 } mesh_model_event_e; 58 59 typedef struct { 60 uint16_t source_addr; 61 void *user_data; 62 } bt_mesh_model_evt_t; 63 64 typedef void (*mesh_model_evt_cb)(mesh_model_event_e event, void *p_arg); 65 66 int bt_mesh_event_init(void); 67 68 int bt_mesh_event_register(mesh_model_evt_cb event_cb); 69 70 mesh_model_evt_cb bt_mesh_event_get_cb_func(void); 71 72 73 #endif /* _GENIE_MESH_API_H_ */ 74