1 /*  Bluetooth Mesh */
2 
3 /*
4  * SPDX-FileCopyrightText: 2017 Intel Corporation
5  * SPDX-FileContributor: 2018-2021 Espressif Systems (Shanghai) CO LTD
6  *
7  * SPDX-License-Identifier: Apache-2.0
8  */
9 #ifndef _PROV_H_
10 #define _PROV_H_
11 
12 #include "mesh_main.h"
13 #include "mesh_bearer_adapt.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 void bt_mesh_pb_adv_recv(struct net_buf_simple *buf);
20 
21 bool bt_prov_active(void);
22 
23 int bt_mesh_pb_gatt_open(struct bt_mesh_conn *conn);
24 int bt_mesh_pb_gatt_close(struct bt_mesh_conn *conn);
25 int bt_mesh_pb_gatt_recv(struct bt_mesh_conn *conn, struct net_buf_simple *buf);
26 
27 int bt_mesh_set_oob_pub_key(const uint8_t pub_key_x[32], const uint8_t pub_key_y[32],
28                             const uint8_t pri_key[32]);
29 
30 const struct bt_mesh_prov *bt_mesh_prov_get(void);
31 
32 int bt_mesh_prov_init(const struct bt_mesh_prov *prov);
33 int bt_mesh_prov_deinit(void);
34 
35 void bt_mesh_prov_complete(uint16_t net_idx, const uint8_t net_key[16],
36                            uint16_t addr, uint8_t flags, uint32_t iv_index);
37 void bt_mesh_prov_reset(void);
38 
39 #ifdef __cplusplus
40 }
41 #endif
42 
43 #endif /* _PROV_H_ */
44