Bluetooth: controller: Add CIS-related LL control PDU types
Add definitions for LL_CIS_REQ, LL_CIS_RSP, and LL_CIS_IND PDUs. Signed-off-by: Wolfgang Puffitsch <wopu@demant.com>
This commit is contained in:
parent
119d22a7b9
commit
45bdff1509
1 changed files with 71 additions and 0 deletions
|
@ -432,6 +432,10 @@ enum pdu_data_llctrl_type {
|
|||
PDU_DATA_LLCTRL_TYPE_PHY_RSP = 0x17,
|
||||
PDU_DATA_LLCTRL_TYPE_PHY_UPD_IND = 0x18,
|
||||
PDU_DATA_LLCTRL_TYPE_MIN_USED_CHAN_IND = 0x19,
|
||||
PDU_DATA_LLCTRL_TYPE_CIS_REQ = 0x1F,
|
||||
PDU_DATA_LLCTRL_TYPE_CIS_RSP = 0x20,
|
||||
PDU_DATA_LLCTRL_TYPE_CIS_IND = 0x21,
|
||||
PDU_DATA_LLCTRL_TYPE_CIS_TERMINATE_IND = 0x22,
|
||||
};
|
||||
|
||||
struct pdu_data_llctrl_conn_update_ind {
|
||||
|
@ -584,6 +588,69 @@ struct pdu_data_llctrl_min_used_chans_ind {
|
|||
uint8_t min_used_chans;
|
||||
} __packed;
|
||||
|
||||
struct pdu_data_llctrl_cis_req {
|
||||
uint8_t cig_id;
|
||||
uint8_t cis_id;
|
||||
uint8_t c_phy;
|
||||
uint8_t p_phy;
|
||||
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
uint16_t c_max_sdu:12;
|
||||
uint16_t rfu0:3;
|
||||
uint16_t framed:1;
|
||||
uint16_t p_max_sdu:12;
|
||||
uint16_t rfu1:4;
|
||||
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
uint16_t framed:1;
|
||||
uint16_t rfu0:3;
|
||||
uint16_t c_max_sdu:12;
|
||||
uint16_t rfu1:4;
|
||||
uint16_t p_max_sdu:12;
|
||||
#else
|
||||
#error "Unsupported endianness"
|
||||
#endif
|
||||
uint8_t c_sdu_interval[3];
|
||||
uint8_t p_sdu_interval[3];
|
||||
uint16_t c_max_pdu;
|
||||
uint16_t p_max_pdu;
|
||||
uint8_t nse;
|
||||
uint8_t sub_interval[3];
|
||||
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||
uint8_t c_bn:4;
|
||||
uint8_t p_bn:4;
|
||||
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||
uint8_t p_bn:4;
|
||||
uint8_t c_bn:4;
|
||||
#else
|
||||
#error "Unsupported endianness"
|
||||
#endif
|
||||
uint8_t c_ft;
|
||||
uint8_t p_ft;
|
||||
uint16_t iso_interval;
|
||||
uint8_t cis_offset_min[3];
|
||||
uint8_t cis_offset_max[3];
|
||||
uint16_t conn_event_count;
|
||||
} __packed;
|
||||
|
||||
struct pdu_data_llctrl_cis_rsp {
|
||||
uint8_t cis_offset_min[3];
|
||||
uint8_t cis_offset_max[3];
|
||||
uint16_t conn_event_count;
|
||||
} __packed;
|
||||
|
||||
struct pdu_data_llctrl_cis_ind {
|
||||
uint32_t aa;
|
||||
uint8_t cis_offset[3];
|
||||
uint8_t cig_sync_delay[3];
|
||||
uint8_t cis_sync_delay[3];
|
||||
uint16_t conn_event_count;
|
||||
} __packed;
|
||||
|
||||
struct pdu_data_llctrl_cis_terminate_ind {
|
||||
uint8_t cig_id;
|
||||
uint8_t cis_id;
|
||||
uint8_t error_code;
|
||||
} __packed;
|
||||
|
||||
struct pdu_data_llctrl {
|
||||
uint8_t opcode;
|
||||
union {
|
||||
|
@ -613,6 +680,10 @@ struct pdu_data_llctrl {
|
|||
struct pdu_data_llctrl_phy_rsp phy_rsp;
|
||||
struct pdu_data_llctrl_phy_upd_ind phy_upd_ind;
|
||||
struct pdu_data_llctrl_min_used_chans_ind min_used_chans_ind;
|
||||
struct pdu_data_llctrl_cis_req cis_req;
|
||||
struct pdu_data_llctrl_cis_rsp cis_rsp;
|
||||
struct pdu_data_llctrl_cis_ind cis_ind;
|
||||
struct pdu_data_llctrl_cis_terminate_ind cis_terminate_ind;
|
||||
} __packed;
|
||||
} __packed;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue