25 #ifndef LCTR_INT_ISO_H 26 #define LCTR_INT_ISO_H 45 #define LCTR_ISO_DATA_PDU_FC_OFFSET 0 46 #define LCTR_ISO_DATA_PDU_LEN_OFFSET 1 49 #define LCTR_FIRST_CIS_HANDLE (pLctrRtCfg->maxConn) 52 #define LCTR_FIRST_BIS_HANDLE (pLctrRtCfg->maxConn + pLctrRtCfg->maxCis) 55 #define LCTR_ISO_FRAG_HDR_MAX_LEN (LL_ISO_DATA_HDR_LEN + LL_ISO_SEG_HDR_LEN + LL_ISO_SEG_TO_LEN) 58 #define LCTR_ISO_FRAG_TRL_MAX_LEN LL_DATA_MIC_LEN 61 #define LCTR_ISO_SDU_DATA_START_OFFSET HCI_ISO_HDR_LEN + HCI_ISO_DL_MAX_LEN 91 typedef uint16_t (*
lctrCodecStreamIn)(uint16_t id, uint8_t *pBuf, uint16_t len, uint32_t *pPktCtr);
94 typedef void (*
lctrCodecStreamOut)(uint16_t id,
const uint8_t *pBuf, uint16_t len, uint32_t pktCtr);
175 void lctrIsoTxCompletedHandler(
void);
176 void lctrCisRxPendingHandler(
void);
177 void lctrNotifyHostIsoEventComplete(uint8_t handle, uint32_t evtCtr);
183 void lctrIsoSendCodecSdu(uint16_t
id);
189 bool_t lctrIsoUnframedRxSduPendQueue(
lctrIsoalRxCtx_t *pRxCtx, uint8_t *pSdu, uint16_t handle,
190 uint16_t dataLen, uint8_t llid);
193 uint8_t *lctrGenerateIsoTestData(uint16_t handle,
LlIsoPldType_t pldType, uint16_t maxSdu, uint32_t pktCtr);
194 void lctrValidateIsoTestData(uint8_t *pPld, uint8_t actLen,
LlIsoTestCtrs_t *pRxStats, uint8_t pldType, uint16_t expMaxSdu, uint32_t expPldCtr);
196 uint8_t lctrAssembleTxFramedPdu(
lctrIsoalTxCtx_t *pIsoalTxCtx, uint8_t *pPduBuf, uint16_t maxPduLen);
198 uint16_t handle, uint8_t *pIsoBuf, uint8_t len);
199 uint8_t *lctrTxIsoDataPduAlloc(
void);
Transmit buffer descriptor.
static void lctrIsoSduTxDecAvailBuf(void)
Decrement available Tx data buffers.
void(* lctrCodecStopStream)(uint16_t id)
Stop stream call signature.
static void lctrIsoDataRxIncAvailBuf(uint8_t numBufs)
Increment available Rx data buffers.
bool_t(* lctrCodecStartStream)(uint16_t id, PalCodecSreamParam_t *pParam)
Start stream call signature.
Link layer controller common ISO interface file.
static void lctrIsoSduTxIncAvailBuf(void)
Increment available Tx data buffers.
lctrCodecStartStream start
#define LCTR_ISO_FRAG_TRL_MAX_LEN
Fragment trailer maximum length.
#define WSF_CS_EXIT(cs)
Exit a critical section.
LlIsoDataPath_t
ISO data path.
static void lctrIsoDataRxDecAvailBuf(void)
Decrement available Rx data buffers.
LE setup ISO Data Path command.
Link layer constant definitions.
Internal link layer controller connection interface file.
Hardware audio codec interface file.
#define LCTR_ISO_FRAG_HDR_MAX_LEN
Fragment header maximum length.
Link layer controller data channel packet interface file.
Link layer manager connection interface file.
uint16_t(* lctrCodecStreamIn)(uint16_t id, uint8_t *pBuf, uint16_t len, uint32_t *pPktCtr)
Stream in data call signature.
lctrCodecHandlers_t lctrCodecHdlr
Codec event handlers.
void(* lctrCodecStreamOut)(uint16_t id, const uint8_t *pBuf, uint16_t len, uint32_t pktCtr)
Stream out data call signature.
Internal link layer controller interface file.
#define WSF_CS_INIT(cs)
Initialize critical section. This macro may define a variable.
LlIsoPldType_t
ISO test packet payload type.
#define WSF_CS_ENTER(cs)
Enter a critical section.