summaryrefslogtreecommitdiff
path: root/monitor/bt.h
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-04-26 15:57:15 -0700
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2022-04-26 16:00:53 -0700
commit80cd36cd2a0c6eb7cc3134a00817439898e4bb7c (patch)
tree58459af5bd5668103ce50daf43cc6acb6da2ebb0 /monitor/bt.h
parent6da642225f5a4648efe538ee8723b1dd663cee3b (diff)
downloadbluez-80cd36cd2a0c6eb7cc3134a00817439898e4bb7c.tar.gz
btmon: Add support for decoding Basic Audio Annoucements
This adds support for decoding Basic Audio Announcements as shown on: Basic Audio Profile / Profile Specification Page 36 of 146 Table 3.15: Format of BASE used in Basic Audio Announcements < HCI Command: LE Set Periodic Advertising Data (0x08|0x003f) plen 36 Handle: 0 Operation: Complete ext advertising data (0x03) Data length: 0x21 Service Data: Basic Audio Announcement (0x1851) Presetation Delay: 40000 Number of Subgroups: 1 Subgroup #0: Number of BIS(s): 1 Codec: Reserved (0x06) Codec Specific Configuration: 010101020403010000020428 Metadata: 020202 BIS #0: Index: 1 Codec Specific Configuration:
Diffstat (limited to 'monitor/bt.h')
-rw-r--r--monitor/bt.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/monitor/bt.h b/monitor/bt.h
index e9f72de36..644c97c98 100644
--- a/monitor/bt.h
+++ b/monitor/bt.h
@@ -3517,6 +3517,34 @@ struct bt_hci_evt_le_per_sync_established {
uint8_t clock_accuracy;
} __attribute__ ((packed));
+struct bt_hci_le_pa_base_codec {
+ uint8_t id;
+ uint16_t cid;
+ uint16_t vid;
+} __attribute__ ((packed));
+
+struct bt_hci_lv_data {
+ uint8_t len;
+ uint8_t data[];
+} __attribute__ ((packed));
+
+struct bt_hci_le_pa_base_bis {
+ uint8_t index;
+ struct bt_hci_lv_data codec_cfg[];
+} __attribute__ ((packed));
+
+struct bt_hci_le_pa_base_subgroup {
+ uint8_t num_bis;
+ struct bt_hci_le_pa_base_codec codec;
+ uint8_t data[];
+} __attribute__ ((packed));
+
+struct bt_hci_le_pa_base_data {
+ uint8_t pd[3];
+ uint8_t num_subgroups;
+ struct bt_hci_le_pa_base_subgroup subgroups[];
+} __attribute__ ((packed));
+
#define BT_HCI_EVT_LE_PA_REPORT 0x0f
struct bt_hci_le_pa_report {
uint16_t handle;