xref: /nrf52832-nimble/packages/NimBLE-latest/nimble/host/mesh/src/proxy.h (revision 042d53a763ad75cb1465103098bb88c245d95138)
1*042d53a7SEvalZero /*  Bluetooth Mesh */
2*042d53a7SEvalZero 
3*042d53a7SEvalZero /*
4*042d53a7SEvalZero  * Copyright (c) 2017 Intel Corporation
5*042d53a7SEvalZero  *
6*042d53a7SEvalZero  * SPDX-License-Identifier: Apache-2.0
7*042d53a7SEvalZero  */
8*042d53a7SEvalZero 
9*042d53a7SEvalZero #ifndef __PROXY_H__
10*042d53a7SEvalZero #define __PROXY_H__
11*042d53a7SEvalZero 
12*042d53a7SEvalZero #define BT_MESH_PROXY_NET_PDU   0x00
13*042d53a7SEvalZero #define BT_MESH_PROXY_BEACON    0x01
14*042d53a7SEvalZero #define BT_MESH_PROXY_CONFIG    0x02
15*042d53a7SEvalZero #define BT_MESH_PROXY_PROV      0x03
16*042d53a7SEvalZero 
17*042d53a7SEvalZero #include "mesh/mesh.h"
18*042d53a7SEvalZero 
19*042d53a7SEvalZero int bt_mesh_proxy_send(uint16_t conn_handle, u8_t type, struct os_mbuf *msg);
20*042d53a7SEvalZero 
21*042d53a7SEvalZero int bt_mesh_proxy_prov_enable(void);
22*042d53a7SEvalZero int bt_mesh_proxy_prov_disable(void);
23*042d53a7SEvalZero 
24*042d53a7SEvalZero int bt_mesh_proxy_gatt_enable(void);
25*042d53a7SEvalZero int bt_mesh_proxy_gatt_disable(void);
26*042d53a7SEvalZero void bt_mesh_proxy_gatt_disconnect(void);
27*042d53a7SEvalZero 
28*042d53a7SEvalZero void bt_mesh_proxy_beacon_send(struct bt_mesh_subnet *sub);
29*042d53a7SEvalZero 
30*042d53a7SEvalZero struct os_mbuf *bt_mesh_proxy_get_buf(void);
31*042d53a7SEvalZero 
32*042d53a7SEvalZero s32_t bt_mesh_proxy_adv_start(void);
33*042d53a7SEvalZero void bt_mesh_proxy_adv_stop(void);
34*042d53a7SEvalZero 
35*042d53a7SEvalZero void bt_mesh_proxy_identity_start(struct bt_mesh_subnet *sub);
36*042d53a7SEvalZero void bt_mesh_proxy_identity_stop(struct bt_mesh_subnet *sub);
37*042d53a7SEvalZero 
38*042d53a7SEvalZero bool bt_mesh_proxy_relay(struct os_mbuf *buf, u16_t dst);
39*042d53a7SEvalZero void bt_mesh_proxy_addr_add(struct os_mbuf *buf, u16_t addr);
40*042d53a7SEvalZero 
41*042d53a7SEvalZero int bt_mesh_proxy_init(void);
42*042d53a7SEvalZero 
43*042d53a7SEvalZero int ble_mesh_proxy_gap_event(struct ble_gap_event *event, void *arg);
44*042d53a7SEvalZero 
45*042d53a7SEvalZero #endif
46