1 /* btp_micp.h - Bluetooth tester headers */
2 
3 /*
4  * Copyright (c) 2023 Codecoup
5  *
6  * SPDX-License-Identifier: Apache-2.0
7  */
8 
9 #include <stdint.h>
10 
11 #include <zephyr/bluetooth/addr.h>
12 
13 /* MICP commands */
14 #define BTP_MICP_READ_SUPPORTED_COMMANDS	0x01
15 struct btp_micp_read_supported_commands_rp {
16 	uint8_t data[0];
17 } __packed;
18 
19 #define BTP_MICP_CTLR_DISCOVER			0x02
20 struct btp_micp_discover_cmd {
21 	bt_addr_le_t address;
22 } __packed;
23 
24 #define BTP_MICP_CTLR_MUTE_READ			0x03
25 struct btp_micp_mute_read_cmd {
26 	bt_addr_le_t address;
27 } __packed;
28 
29 #define BTP_MICP_CTLR_MUTE			0x04
30 struct btp_micp_mute_cmd {
31 	bt_addr_le_t address;
32 } __packed;
33 
34 /* MICP events */
35 #define BTP_MICP_DISCOVERED_EV			0x80
36 struct btp_micp_discovered_ev {
37 	bt_addr_le_t address;
38 	uint8_t att_status;
39 	uint16_t mute_handle;
40 	uint16_t state_handle;
41 	uint16_t gain_handle;
42 	uint16_t type_handle;
43 	uint16_t status_handle;
44 	uint16_t control_handle;
45 	uint16_t desc_handle;
46 } __packed;
47 
48 #define BTP_MICP_MUTE_STATE_EV			0x81
49 struct btp_micp_mute_state_ev {
50 	bt_addr_le_t address;
51 	uint8_t att_status;
52 	uint8_t mute;
53 } __packed;
54