1 /* btp_mics.h - Bluetooth tester headers */
2 
3 /*
4  * Copyright (c) 2024 Codecoup
5  *
6  * SPDX-License-Identifier: Apache-2.0
7  */
8 
9 #include <stdint.h>
10 
11 #include <zephyr/bluetooth/addr.h>
12 
13 /* TBS commands */
14 #define BTP_TBS_READ_SUPPORTED_COMMANDS		0x01
15 struct btp_tbs_read_supported_commands_rp {
16 	uint8_t data[0];
17 } __packed;
18 
19 #define BTP_TBS_REMOTE_INCOMING			0x02
20 struct btp_tbs_remote_incoming_cmd {
21 	uint8_t index;
22 	uint8_t recv_len;
23 	uint8_t caller_len;
24 	uint8_t fn_len;
25 	uint8_t data_len;
26 	uint8_t data[0];
27 } __packed;
28 
29 #define BTP_TBS_HOLD				0x03
30 struct btp_tbs_hold_cmd {
31 	uint8_t index;
32 } __packed;
33 
34 #define BTP_TBS_SET_BEARER_NAME			0x04
35 struct btp_tbs_set_bearer_name_cmd {
36 	uint8_t index;
37 	uint8_t name_len;
38 	uint8_t name[0];
39 } __packed;
40 
41 #define BTP_TBS_SET_TECHNOLOGY			0x05
42 struct btp_tbs_set_technology_cmd {
43 	uint8_t index;
44 	uint8_t tech;
45 } __packed;
46 
47 #define BTP_TBS_SET_URI_SCHEME			0x06
48 struct btp_tbs_set_uri_schemes_list_cmd {
49 	uint8_t index;
50 	uint8_t uri_len;
51 	uint8_t uri_count;
52 	uint8_t uri_list[0];
53 } __packed;
54 
55 #define BTP_TBS_SET_STATUS_FLAGS		0x07
56 struct btp_tbs_set_status_flags_cmd {
57 	uint8_t index;
58 	uint16_t flags;
59 } __packed;
60 
61 #define BTP_TBS_REMOTE_HOLD			0x08
62 struct btp_tbs_remote_hold_cmd {
63 	uint8_t index;
64 } __packed;
65 
66 #define BTP_TBS_ORIGINATE			0x09
67 struct btp_tbs_originate_cmd {
68 	uint8_t index;
69 	uint8_t uri_len;
70 	uint8_t uri[0];
71 } __packed;
72 
73 #define BTP_TBS_SET_SIGNAL_STRENGTH		0x0a
74 struct btp_tbs_set_signal_strength_cmd {
75 	uint8_t index;
76 	uint8_t strength;
77 } __packed;
78