Split bt_iso_qos into dedicated unicast and broadcast structures. --- lib/bluetooth.h | 50 +++++++++++++++++++++++++++++++++++-------------- 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/lib/bluetooth.h b/lib/bluetooth.h index af5fbcfbc..d365d681a 100644 --- a/lib/bluetooth.h +++ b/lib/bluetooth.h @@ -6,6 +6,7 @@ * Copyright (C) 2000-2001 Qualcomm Incorporated * Copyright (C) 2002-2003 Maxim Krasnyansky <maxk@xxxxxxxxxxxx> * Copyright (C) 2002-2010 Marcel Holtmann <marcel@xxxxxxxxxxxx> + * Copyright 2023 NXP * * */ @@ -141,11 +142,17 @@ struct bt_voice { #define BT_SCM_PKT_STATUS 0x03 -#define BT_ISO_QOS 17 +#define BT_ISO_UNICAST_QOS 17 #define BT_ISO_QOS_CIG_UNSET 0xff #define BT_ISO_QOS_CIS_UNSET 0xff +#define BT_ISO_BCAST_SINK_QOS 18 +#define BT_ISO_BCAST_SOURCE_QOS 19 + +#define BT_ISO_QOS_BIG_UNSET 0xff +#define BT_ISO_QOS_BIS_UNSET 0xff + struct bt_iso_io_qos { uint32_t interval; uint16_t latency; @@ -154,25 +161,40 @@ struct bt_iso_io_qos { uint8_t rtn; }; -struct bt_iso_qos { - union { - uint8_t cig; - uint8_t big; - }; - union { - uint8_t cis; - uint8_t bis; - }; - union { - uint8_t sca; - uint8_t sync_interval; - }; +struct bt_iso_unicast_qos { + uint8_t cig; + uint8_t cis; + uint8_t sca; uint8_t packing; uint8_t framing; struct bt_iso_io_qos in; struct bt_iso_io_qos out; }; +struct bt_iso_bcast_sink_qos { + uint8_t options; + uint16_t skip; + uint16_t sync_timeout; + uint8_t sync_cte_type; + uint8_t big; + uint8_t encryption; + uint8_t bcode[16]; + uint8_t mse; + uint16_t timeout; + struct bt_iso_io_qos in; +}; + +struct bt_iso_bcast_source_qos { + uint8_t sync_interval; + uint8_t big; + uint8_t bis; + uint8_t packing; + uint8_t framing; + uint8_t encryption; + uint8_t bcode[16]; + struct bt_iso_io_qos out; +}; + #define BT_CODEC 19 struct bt_codec { uint8_t id; -- 2.34.1