123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /**
- * @file testing.h
- * @brief Internal API for Bluetooth testing.
- */
- /*
- * Copyright (c) 2017 Intel Corporation
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #ifndef ZEPHYR_INCLUDE_BLUETOOTH_TESTING_H_
- #define ZEPHYR_INCLUDE_BLUETOOTH_TESTING_H_
- #if defined(CONFIG_BT_MESH)
- #include <bluetooth/mesh.h>
- #endif /* CONFIG_BT_MESH */
- /**
- * @brief Bluetooth testing
- * @defgroup bt_test_cb Bluetooth testing callbacks
- * @ingroup bluetooth
- * @{
- */
- #ifdef __cplusplus
- extern "C" {
- #endif
- /** @brief Bluetooth Testing callbacks structure.
- *
- * Callback structure to be used for Bluetooth testing purposes.
- * Allows access to Bluetooth stack internals, not exposed by public API.
- */
- struct bt_test_cb {
- #if defined(CONFIG_BT_MESH)
- void (*mesh_net_recv)(uint8_t ttl, uint8_t ctl, uint16_t src, uint16_t dst,
- const void *payload, size_t payload_len);
- void (*mesh_model_bound)(uint16_t addr, struct bt_mesh_model *model,
- uint16_t key_idx);
- void (*mesh_model_unbound)(uint16_t addr, struct bt_mesh_model *model,
- uint16_t key_idx);
- void (*mesh_prov_invalid_bearer)(uint8_t opcode);
- void (*mesh_trans_incomp_timer_exp)(void);
- #endif /* CONFIG_BT_MESH */
- sys_snode_t node;
- };
- /** Register callbacks for Bluetooth testing purposes
- *
- * @param cb bt_test_cb callback structure
- */
- void bt_test_cb_register(struct bt_test_cb *cb);
- /** Unregister callbacks for Bluetooth testing purposes
- *
- * @param cb bt_test_cb callback structure
- */
- void bt_test_cb_unregister(struct bt_test_cb *cb);
- /** Send Friend Subscription List Add message.
- *
- * Used by Low Power node to send the group address for which messages are to
- * be stored by Friend node.
- *
- * @param group Group address
- *
- * @return Zero on success or (negative) error code otherwise.
- */
- int bt_test_mesh_lpn_group_add(uint16_t group);
- /** Send Friend Subscription List Remove message.
- *
- * Used by Low Power node to remove the group addresses from Friend node
- * subscription list. Messages sent to those addresses will not be stored
- * by Friend node.
- *
- * @param groups Group addresses
- * @param groups_count Group addresses count
- *
- * @return Zero on success or (negative) error code otherwise.
- */
- int bt_test_mesh_lpn_group_remove(uint16_t *groups, size_t groups_count);
- /** Clear replay protection list cache.
- *
- * @return Zero on success or (negative) error code otherwise.
- */
- int bt_test_mesh_rpl_clear(void);
- /**
- * @}
- */
- #ifdef __cplusplus
- }
- #endif
- #endif /* ZEPHYR_INCLUDE_BLUETOOTH_TESTING_H_ */
|