| /** @file |
| * @brief Proxy APIs. |
| */ |
| |
| /* |
| * Copyright (c) 2017 Intel Corporation |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| #ifndef ZEPHYR_INCLUDE_BLUETOOTH_MESH_PROXY_H_ |
| #define ZEPHYR_INCLUDE_BLUETOOTH_MESH_PROXY_H_ |
| |
| /** |
| * @brief Proxy |
| * @defgroup bt_mesh_proxy Proxy |
| * @ingroup bt_mesh |
| * @{ |
| */ |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| /** Callbacks for the Proxy feature. |
| * |
| * Should be instantiated with @ref BT_MESH_PROXY_CB_DEFINE. |
| */ |
| struct bt_mesh_proxy_cb { |
| /** @brief Started sending Node Identity beacons on the given subnet. |
| * |
| * @param net_idx Network index the Node Identity beacons are running |
| * on. |
| */ |
| void (*identity_enabled)(uint16_t net_idx); |
| /** @brief Stopped sending Node Identity beacons on the given subnet. |
| * |
| * @param net_idx Network index the Node Identity beacons were running |
| * on. |
| */ |
| void (*identity_disabled)(uint16_t net_idx); |
| }; |
| |
| /** @def BT_MESH_PROXY_CB_DEFINE |
| * |
| * @brief Register a callback structure for Proxy events. |
| * |
| * Registers a structure with callback functions that gets called on various |
| * Proxy events. |
| * |
| * @param _name Name of callback structure. |
| */ |
| #define BT_MESH_PROXY_CB_DEFINE(_name) \ |
| static const STRUCT_SECTION_ITERABLE( \ |
| bt_mesh_proxy_cb, _CONCAT(bt_mesh_proxy_cb_, _name)) |
| |
| /** @brief Enable advertising with Node Identity. |
| * |
| * This API requires that GATT Proxy support has been enabled. Once called |
| * each subnet will start advertising using Node Identity for the next |
| * 60 seconds. |
| * |
| * @return 0 on success, or (negative) error code on failure. |
| */ |
| int bt_mesh_proxy_identity_enable(void); |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| /** |
| * @} |
| */ |
| |
| #endif /* ZEPHYR_INCLUDE_BLUETOOTH_MESH_PROXY_H_ */ |