1 /* btp_pbp.c - Bluetooth PBP Tester */
2 
3 /*
4  * Copyright (c) 2025 Nordic Semiconductor ASA
5  *
6  * SPDX-License-Identifier: Apache-2.0
7  */
8 
9 #include <stdint.h>
10 
11 #include <zephyr/bluetooth/addr.h>
12 #include <zephyr/bluetooth/audio/audio.h>
13 
14 #define BTP_PBP_READ_SUPPORTED_COMMANDS	0x01
15 struct btp_pbp_read_supported_commands_rp {
16 	uint8_t data[0];
17 } __packed;
18 
19 #define BTP_PBP_SET_PUBLIC_BROADCAST_ANNOUNCEMENT 0x02
20 struct btp_pbp_set_public_broadcast_announcement_cmd {
21 	uint8_t features;
22 	uint8_t metadata_len;
23 	uint8_t metadata[];
24 } __packed;
25 
26 #define BTP_PBP_SET_BROADCAST_NAME 0x03
27 struct btp_pbp_set_broadcast_name_cmd {
28 	uint8_t name_len;
29 	uint8_t name[];
30 } __packed;
31 
32 #define BTP_PBP_BROADCAST_SCAN_START 0x04
33 struct btp_pbp_broadcast_scan_start_cmd {
34 } __packed;
35 
36 #define BTP_PBP_BROADCAST_SCAN_STOP 0x05
37 struct btp_pbp_broadcast_scan_stop_cmd {
38 } __packed;
39 
40 #define BTP_PBP_EV_PUBLIC_BROADCAST_ANNOUNCEMENT_FOUND 0x80
41 struct btp_pbp_ev_public_broadcast_announcement_found_ev {
42 	bt_addr_le_t address;
43 	uint8_t broadcast_id[BT_AUDIO_BROADCAST_ID_SIZE];
44 	uint8_t advertiser_sid;
45 	uint16_t padv_interval;
46 	uint8_t pba_features;
47 	uint8_t broadcast_name_len;
48 	uint8_t broadcast_name[];
49 } __packed;
50