@@ -432,6 +432,10 @@ enum pdu_data_llctrl_type {
432432 PDU_DATA_LLCTRL_TYPE_PHY_RSP = 0x17 ,
433433 PDU_DATA_LLCTRL_TYPE_PHY_UPD_IND = 0x18 ,
434434 PDU_DATA_LLCTRL_TYPE_MIN_USED_CHAN_IND = 0x19 ,
435+ PDU_DATA_LLCTRL_TYPE_CIS_REQ = 0x1F ,
436+ PDU_DATA_LLCTRL_TYPE_CIS_RSP = 0x20 ,
437+ PDU_DATA_LLCTRL_TYPE_CIS_IND = 0x21 ,
438+ PDU_DATA_LLCTRL_TYPE_CIS_TERMINATE_IND = 0x22 ,
435439};
436440
437441struct pdu_data_llctrl_conn_update_ind {
@@ -584,6 +588,69 @@ struct pdu_data_llctrl_min_used_chans_ind {
584588 uint8_t min_used_chans ;
585589} __packed ;
586590
591+ struct pdu_data_llctrl_cis_req {
592+ uint8_t cig_id ;
593+ uint8_t cis_id ;
594+ uint8_t c_phy ;
595+ uint8_t p_phy ;
596+ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
597+ uint16_t c_max_sdu :12 ;
598+ uint16_t rfu0 :3 ;
599+ uint16_t framed :1 ;
600+ uint16_t p_max_sdu :12 ;
601+ uint16_t rfu1 :4 ;
602+ #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
603+ uint16_t framed :1 ;
604+ uint16_t rfu0 :3 ;
605+ uint16_t c_max_sdu :12 ;
606+ uint16_t rfu1 :4 ;
607+ uint16_t p_max_sdu :12 ;
608+ #else
609+ #error "Unsupported endianness"
610+ #endif
611+ uint8_t c_sdu_interval [3 ];
612+ uint8_t p_sdu_interval [3 ];
613+ uint16_t c_max_pdu ;
614+ uint16_t p_max_pdu ;
615+ uint8_t nse ;
616+ uint8_t sub_interval [3 ];
617+ #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
618+ uint8_t c_bn :4 ;
619+ uint8_t p_bn :4 ;
620+ #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
621+ uint8_t p_bn :4 ;
622+ uint8_t c_bn :4 ;
623+ #else
624+ #error "Unsupported endianness"
625+ #endif
626+ uint8_t c_ft ;
627+ uint8_t p_ft ;
628+ uint16_t iso_interval ;
629+ uint8_t cis_offset_min [3 ];
630+ uint8_t cis_offset_max [3 ];
631+ uint16_t conn_event_count ;
632+ } __packed ;
633+
634+ struct pdu_data_llctrl_cis_rsp {
635+ uint8_t cis_offset_min [3 ];
636+ uint8_t cis_offset_max [3 ];
637+ uint16_t conn_event_count ;
638+ } __packed ;
639+
640+ struct pdu_data_llctrl_cis_ind {
641+ uint32_t aa ;
642+ uint8_t cis_offset [3 ];
643+ uint8_t cig_sync_delay [3 ];
644+ uint8_t cis_sync_delay [3 ];
645+ uint16_t conn_event_count ;
646+ } __packed ;
647+
648+ struct pdu_data_llctrl_cis_terminate_ind {
649+ uint8_t cig_id ;
650+ uint8_t cis_id ;
651+ uint8_t error_code ;
652+ } __packed ;
653+
587654struct pdu_data_llctrl {
588655 uint8_t opcode ;
589656 union {
@@ -613,6 +680,10 @@ struct pdu_data_llctrl {
613680 struct pdu_data_llctrl_phy_rsp phy_rsp ;
614681 struct pdu_data_llctrl_phy_upd_ind phy_upd_ind ;
615682 struct pdu_data_llctrl_min_used_chans_ind min_used_chans_ind ;
683+ struct pdu_data_llctrl_cis_req cis_req ;
684+ struct pdu_data_llctrl_cis_rsp cis_rsp ;
685+ struct pdu_data_llctrl_cis_ind cis_ind ;
686+ struct pdu_data_llctrl_cis_terminate_ind cis_terminate_ind ;
616687 } __packed ;
617688} __packed ;
618689
0 commit comments