X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Ftfu.x;h=735d774cc3c741587152755b89da7fc0de9ebe99;hb=6e4e341b9d0e394196b7dc49045073cae098e6bf;hp=b2726cdd4e8e2b812cde719f6326e4c85d748cfa;hpb=5ea4c59cb4dd37164953218b0bd355284e11d22c;p=o-du%2Fl2.git diff --git a/src/cm/tfu.x b/src/cm/tfu.x index b2726cdd4..735d774cc 100755 --- a/src/cm/tfu.x +++ b/src/cm/tfu.x @@ -115,61 +115,61 @@ typedef struct _rgSchUlAllocCntr RgSchUlAllocCntr; struct _rgSchUlAllocCntr { - U8 mcs; - U16 numOfRb; - U16 rbStart; + uint8_t mcs; + uint16_t numOfRb; + uint16_t rbStart; Bool testStart; Bool enaLog; - U16 logTime; - U32 crcOk; - U32 crcErr; - U32 numUlPackets; - U32 numPrach; - U32 taZero; + uint16_t logTime; + uint32_t crcOk; + uint32_t crcErr; + uint32_t numUlPackets; + uint32_t numPrach; + uint32_t taZero; }; -EXTERN RgSchUlAllocCntr rgSchUlAllocCntr; +RgSchUlAllocCntr rgSchUlAllocCntr; #endif //Chandan #ifdef DLHQ_STATS typedef struct rgSchDlHqStats { - U16 sfn; - U8 sf; - U8 ack; - U8 cellId; - U8 ulDai; - U8 dlDai; - U8 fdbkIdx; - U8 ue; - U8 ack0; - U8 ack1; - U8 ack2; - U8 ack3; - U8 ack4; - U8 ack5; - U8 ack6; - U8 ack7; + uint16_t sfn; + uint8_t sf; + uint8_t ack; + uint8_t cellId; + uint8_t ulDai; + uint8_t dlDai; + uint8_t fdbkIdx; + uint8_t ue; + uint8_t ack0; + uint8_t ack1; + uint8_t ack2; + uint8_t ack3; + uint8_t ack4; + uint8_t ack5; + uint8_t ack6; + uint8_t ack7; }RgSchDlHqStats; typedef struct ysMsDlHqStats { - U16 sfn; - U8 sf; - U8 mode; /*1 = PUCCH 2= PUSCH*/ - U8 M; - U8 o0; /*For PUCCH n1PUCCH*/ - U8 o1; /*For PUCCH Invalid*/ - U8 o2; - U8 o3; - U8 ack0; - U8 ack1; - U8 ack2; - U8 ack3; - U8 ack4; - U8 ack5; - U8 ack6; - U8 ack7; + uint16_t sfn; + uint8_t sf; + uint8_t mode; /*1 = PUCCH 2= PUSCH*/ + uint8_t M; + uint8_t o0; /*For PUCCH n1PUCCH*/ + uint8_t o1; /*For PUCCH Invalid*/ + uint8_t o2; + uint8_t o3; + uint8_t ack0; + uint8_t ack1; + uint8_t ack2; + uint8_t ack3; + uint8_t ack4; + uint8_t ack5; + uint8_t ack6; + uint8_t ack7; }YsMsDlHqStats; #define MAX_STATS_CNT #endif @@ -178,28 +178,28 @@ typedef struct ysMsDlHqStats /* Considers case where RIV is <= 324 for DCI format A1 */ typedef struct tfuRbAssignA1Val324 { - U8 hqProcId; /*!< HARQ process ID */ - U8 mcs; /*!< 4 bits for MCS */ + uint8_t hqProcId; /*!< HARQ process ID */ + uint8_t mcs; /*!< 4 bits for MCS */ Bool ndi; /*!< 1 bit for new data indicator */ } TfuRbAssignA1Val324; /* Considers case where RIV is <= 324 for DCI format B1 */ typedef struct tfuRbAssignB1Val324 { - U8 hqProcId; /*!< HARQ process ID */ - U8 mcs; /*!< 4 bits for MCS */ + uint8_t hqProcId; /*!< HARQ process ID */ + uint8_t mcs; /*!< 4 bits for MCS */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 RV; /*!< 2 bits Redundancy version */ - U8 bmiHqAckNack; /* BMI: Bit Mapping Index for Harq-Ack + uint8_t RV; /*!< 2 bits Redundancy version */ + uint8_t bmiHqAckNack; /* BMI: Bit Mapping Index for Harq-Ack Refer sec 8.5 of 213 spec */ } TfuRbAssignB1Val324; /* Considers case where RIV is == 326 */ typedef struct tfuRbAssignVal326 { - U8 FreqBandIdx; /* nRACH: Frequency band index Value:0 -> 7 */ + uint8_t FreqBandIdx; /* nRACH: Frequency band index Value:0 -> 7 */ Bool OCCInd; /* nOCC: OCC indicator Value:0 -> 1 */ - U8 CyclicShiftInd; /* nNcs: Cyclic shift indicator Value:0 -> 3 */ + uint8_t CyclicShiftInd; /* nNcs: Cyclic shift indicator Value:0 -> 3 */ } TfuRbAssignVal326; @@ -207,19 +207,19 @@ typedef struct tfuRbAssignVal326 typedef struct tfuDciFormatA1Info { Bool formatType; /* Format Descriminator 00: A1, 01:A2 */ - U8 xPUSCHRange; /* 0 : the stopping of xPUSCH is the 12th symbol, + uint8_t xPUSCHRange; /* 0 : the stopping of xPUSCH is the 12th symbol, 1 : the stopping of xPUSCH is the 13th symbol, 2 : the stopping of xPUSCH is the final (14th) symbol */ - U8 xPUSCH_TxTiming; /* Transmission timing of xPUSCH Value: 0->7 + uint8_t xPUSCH_TxTiming; /* Transmission timing of xPUSCH Value: 0->7 l E {0,1,...,7}*/ - U16 RBAssign; /*!< same as phy i/f RBAssign: RIV as defined in V5G.213 + uint16_t RBAssign; /*!< same as phy i/f RBAssign: RIV as defined in V5G.213 Value <= 324: this field assigns morethan zero RB. Value ==325: this format assigns zero RB. Value ==326: this format assigns zero RB and used for Randon Access procedure initiated by xPDCCH order. */ - U8 beamIndex; /*!< transmit beam index: Value: 0->7 */ - U8 symbIdx; /*!< OFDM symbol index for the xPDCCH: Value: 0->1 */ - U8 rv; /*!< HARQ redundancy version, Value: 0 -> 3 */ + uint8_t beamIndex; /*!< transmit beam index: Value: 0->7 */ + uint8_t symbIdx; /*!< OFDM symbol index for the xPDCCH: Value: 0->1 */ + uint8_t rv; /*!< HARQ redundancy version, Value: 0 -> 3 */ /* Based on RBAssign/RIV value*/ union @@ -228,32 +228,32 @@ typedef struct tfuDciFormatA1Info TfuRbAssignVal326 rbAssignVal326; }u; - U8 CSI_BSI_BRI_Req; /* CSI / BSI / BRI request Value:0 -> 7 */ - U8 CSIRS_BRRS_TxTiming; /* Transmission timing of CSI-RS / BRRS, Value:0 -> 3 + uint8_t CSI_BSI_BRI_Req; /* CSI / BSI / BRI request Value:0 -> 7 */ + uint8_t CSIRS_BRRS_TxTiming; /* Transmission timing of CSI-RS / BRRS, Value:0 -> 3 m E {0,1,2,3} */ #ifdef FIVEGTF_PHY_API - U16 rbgStart; - U16 rbgSize; + uint16_t rbgStart; + uint16_t rbgSize; #endif /* ToDo: following 4 fields can be made as union with an indicator type*/ - U8 CSIRS_BRRS_SymbIdx; /* Indication of OFDM symbol index for CSI-RS / BRRS allocations + uint8_t CSIRS_BRRS_SymbIdx; /* Indication of OFDM symbol index for CSI-RS / BRRS allocations Value:0 -> 3 */ - U8 CSI_BRRS_Indicator; /* If this DCI format allocates either of + uint8_t CSI_BRRS_Indicator; /* If this DCI format allocates either of CSI-RS or BRRS transmission Value:0 -> 3 */ - U8 CSIRS_BRRS_ProcInd; /* Process indicator : Value:0 -> 3 */ - U8 numBSI_Reports; /* Number of BSI reports Value:0 -> 3 */ + uint8_t CSIRS_BRRS_ProcInd; /* Process indicator : Value:0 -> 3 */ + uint8_t numBSI_Reports; /* Number of BSI reports Value:0 -> 3 */ Bool uciOnxPUSCH; /* "UCI on xPUSCH w/o xUL-SCH data" indicator. Value:0 -> 1 */ Bool beamSwitch; /* beam switch indication. Value:0 -> 1 */ - U8 SRS_Config; /* Indication of SRS configurations Value:0 -> 3 + uint8_t SRS_Config; /* Indication of SRS configurations Value:0 -> 3 00 : {No SRS request}, 01 : {Config. #0}, 10 : {Config. #1}, 11 : {Config. #2} */ Bool SRS_Symbol; /* If SRS is requested, 0: SRS transmission on the 13th OFDM symbol and 1: SRS transmission on the 14th OFDM symbol */ - U8 REMapIdx_DMRS_PCRS_numLayers; /* RE Mapping index, Ki for DMRS/PCRS and number of layers + uint8_t REMapIdx_DMRS_PCRS_numLayers; /* RE Mapping index, Ki for DMRS/PCRS and number of layers Value: 0 -> 7 0: 1 Layer, k0 = 0, 1: 1 Layer, k0 = 1 2: 1 Layer, k0 = 2, 3: 1 Layer, k0 = 3 @@ -262,13 +262,13 @@ typedef struct tfuDciFormatA1Info 6,7: Reserved */ Bool SCID; /* nSCID is applied for both DMRS in subframe n and CSI-RS in subframe n+m Value: 0 -> 1 */ - U8 PMI; /* Precoding matrix indicator Value:0 -> 7 */ + uint8_t PMI; /* Precoding matrix indicator Value:0 -> 7 */ #ifdef FIVEGTF_PHY_API - U8 AntPorts_numLayers; - U8 TransmissionScheme; + uint8_t AntPorts_numLayers; + uint8_t TransmissionScheme; #endif Bool UL_PCRS; /* UL dual PCRS Value: 0 -> 1 */ - U8 tpcCmd; /*!< 2 bits for TPC command for xPUSCH, Values: 0->3 */ + uint8_t tpcCmd; /*!< 2 bits for TPC command for xPUSCH, Values: 0->3 */ } TfuDciFormatA1Info; /* DCI format A2: UL xPDCCH */ @@ -278,17 +278,17 @@ typedef TfuDciFormatA1Info TfuDciFormatA2Info; typedef struct tfuDciFormatB1Info { Bool formatType; /* Format Descriminator 2: B1, 3:B2 */ - U8 xPDSCHRange; /* MSB (starting of xPDSCH including DMRS symbol) : + uint8_t xPDSCHRange; /* MSB (starting of xPDSCH including DMRS symbol) : 0 is the second symbol, 1 is the third symbol. LSB (stopping of xPDSCH): 0 is the 12th symbol, 1 is the 14th symbol */ - U16 RBAssign; /*!< same as phy i/f RBAssign: RIV as defined in V5G.213 + uint16_t RBAssign; /*!< same as phy i/f RBAssign: RIV as defined in V5G.213 Value <= 324: this field assigns morethan zero RB. Value ==325: this format assigns zero RB. Value ==326: this format assigns zero RB and used for Randon Access procedure initiated by xPDCCH order. */ - U8 beamIndex; /*!< transmit beam index: Value: 0->7 */ - U8 symbIdx; /*!< OFDM symbol index for the xPDCCH: Value: 0->1 */ + uint8_t beamIndex; /*!< transmit beam index: Value: 0->7 */ + uint8_t symbIdx; /*!< OFDM symbol index for the xPDCCH: Value: 0->1 */ /* Based on RBAssign/RIV value*/ union { @@ -296,32 +296,32 @@ typedef struct tfuDciFormatB1Info TfuRbAssignVal326 rbAssignVal326; }u; - U8 CSI_BSI_BRI_Req; /* CSI / BSI / BRI request Value:0 -> 7 */ - U8 CSIRS_BRRS_TxTiming; /* Transmission timing of CSI-RS / BRRS, Value:0 -> 3 + uint8_t CSI_BSI_BRI_Req; /* CSI / BSI / BRI request Value:0 -> 7 */ + uint8_t CSIRS_BRRS_TxTiming; /* Transmission timing of CSI-RS / BRRS, Value:0 -> 3 m E {0,1,2,3} */ /* ToDo: following 4 fields can be made as union with an indicator type*/ - U8 CSIRS_BRRS_SymbIdx; /* Indication of OFDM symbol index for CSI-RS / BRRS allocations + uint8_t CSIRS_BRRS_SymbIdx; /* Indication of OFDM symbol index for CSI-RS / BRRS allocations Value:0 -> 3 */ - U8 CSI_BRRS_Indicator; /* If this DCI format allocates either of + uint8_t CSI_BRRS_Indicator; /* If this DCI format allocates either of CSI-RS or BRRS transmission Value:0 -> 3 */ - U8 CSIRS_BRRS_ProcInd; /* Process indicator : Value:0 -> 3 */ - U8 numBSI_Reports; /* Number of BSI reports Value:0 -> 3 */ + uint8_t CSIRS_BRRS_ProcInd; /* Process indicator : Value:0 -> 3 */ + uint8_t numBSI_Reports; /* Number of BSI reports Value:0 -> 3 */ Bool xPUCCH_TxTiming; /* field indicates transmission time offset value k.{0, 1, ., 7} */ - U8 freqResIdx_xPUCCH; /* Frequency resource index of xPUCCH for UCI report */ + uint8_t freqResIdx_xPUCCH; /* Frequency resource index of xPUCCH for UCI report */ Bool beamSwitch; /* beam switch indication. Value:0 -> 1 */ - U8 SRS_Config; /* Indication of SRS configurations Value:0 -> 3 + uint8_t SRS_Config; /* Indication of SRS configurations Value:0 -> 3 00 : {No SRS request}, 01 : {Config. #0}, 10 : {Config. #1}, 11 : {Config. #2} */ Bool SRS_Symbol; /* If SRS is requested, 0: SRS transmission on the 13th OFDM symbol and 1: SRS transmission on the 14th OFDM symbol */ - U8 AntPorts_numLayers; + uint8_t AntPorts_numLayers; Bool SCID; /* nSCID is applied for both DMRS in subframe n and CSI-RS in subframe n+m Value: 0 -> 1 */ - U8 tpcCmd; /*!< 2 bits for TPC command for xPUCCH, Values: 0->3 */ + uint8_t tpcCmd; /*!< 2 bits for TPC command for xPUCCH, Values: 0->3 */ Bool DL_PCRS; /* DL PCRS Value: 0 -> 3 00 : {No PCRS }, 01 : {PCRS on AP 60}, 10 : {PCRS on AP 61}, 11 : {PCRS on AP 60 and 61}*/ @@ -340,31 +340,31 @@ typedef struct tfuDciFormat0Info Bool isMsg4PdcchWithCrnti; /* This is to aid rgNumMsg4PdcchWithCrnti counter which counts num of PDCCH scrambled with CRNTI for CRNTI Based contention resolution */ Bool hoppingEnbld; /*!< TRUE, if hopping is enabled */ - U8 rbStart; /*!< Starting RB */ - U8 numRb; /*!< Number of RBs */ + uint8_t rbStart; /*!< Starting RB */ + uint8_t numRb; /*!< Number of RBs */ #ifdef TFU_UPGRADE - U32 riv; /*!< RIV as defined in 213 + uint32_t riv; /*!< RIV as defined in 213 section 7.1.6.3 - used only for SPS release */ #endif - U8 hoppingBits; /*!< Hopping bits as mentioned in 213 section 8.4 */ - U8 mcs; /*!< 5 bits for MCS and RV */ + uint8_t hoppingBits; /*!< Hopping bits as mentioned in 213 section 8.4 */ + uint8_t mcs; /*!< 5 bits for MCS and RV */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 ulIdx; /*!< UL index applicable only for TDD */ - U8 dai; /*!< The downlink assignement index */ + uint8_t ulIdx; /*!< UL index applicable only for TDD */ + uint8_t dai; /*!< The downlink assignement index */ #endif /** @} */ - U8 nDmrs; /*!< 3 bits for DMRS cyclic shift */ - U8 cqiReq; /*!< 1 bit for CQI non-CA while value 00, 01, 10 and 11 for CA */ - U8 numCqiBit; /*!< Number of CsiReq Bit(s) Values : 1 or 2(CA)*/ - U8 txAntenna; /*!< Antenna selection - 213 section 8.7 */ + uint8_t nDmrs; /*!< 3 bits for DMRS cyclic shift */ + uint8_t cqiReq; /*!< 1 bit for CQI non-CA while value 00, 01, 10 and 11 for CA */ + uint8_t numCqiBit; /*!< Number of CsiReq Bit(s) Values : 1 or 2(CA)*/ + uint8_t txAntenna; /*!< Antenna selection - 213 section 8.7 */ /* tfu_x_001.main_4: Adding hqProcId */ - U8 hqProcId; /*!< HARQ process ID */ + uint8_t hqProcId; /*!< HARQ process ID */ } TfuDciFormat0Info; /** @enum TfuAllocType @@ -385,10 +385,10 @@ typedef struct tfuAllocMapOrRiv union { - U32 riv; /*!< RIV as defined in 213 section 7.1.6.3. */ + uint32_t riv; /*!< RIV as defined in 213 section 7.1.6.3. */ /*tfu_x_001.main_8 - ADD - TFU_RESMAP_CHANGE support */ #ifndef TFU_RESMAP_CHANGE - U8 resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource + uint8_t resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource allocation bitmap. LSB aligns with the LSB of the allocation bits.*/ #else /* TFU_RESMAP_CHANGE */ @@ -420,15 +420,15 @@ typedef struct tfuAllocMap { struct { - U32 allocMask; /*!< Allocation Mask for RBGs */ + uint32_t allocMask; /*!< Allocation Mask for RBGs */ } allocType0; struct { - U8 rbgSubset; /*!< RBG Subset number: Value in set + uint8_t rbgSubset; /*!< RBG Subset number: Value in set {0,1,2,3} */ - U8 shift; /*!< Shift value for RBG mask: Value in + uint8_t shift; /*!< Shift value for RBG mask: Value in set {0,1} */ - U32 allocMask; /*!< Allocation bitmask */ + uint32_t allocMask; /*!< Allocation bitmask */ } allocType1; } u; } TfuAllocMap; @@ -444,13 +444,13 @@ typedef struct tfuAllocMap typedef struct tfuDciFormat1AllocInfo { Bool isAllocType0; /*!< TRUE, if allocation type is 0 */ - U8 resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource allocation bitmap. + uint8_t resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource allocation bitmap. LSB aligns with the LSB of the allocation bits.*/ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t harqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 mcs; /*!< 5 bits for MCS */ - U8 rv; /*!< Redundancy version */ + uint8_t mcs; /*!< 5 bits for MCS */ + uint8_t rv; /*!< Redundancy version */ } TfuDciFormat1AllocInfo; /** @brief This structure contains the information needed to convey DCI format 1. @@ -465,10 +465,10 @@ typedef struct tfuDciFormat1Info /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 dai; /*!< The downlink assignement index */ + uint8_t dai; /*!< The downlink assignement index */ #endif /** @} */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ } TfuDciFormat1Info; /** @brief This structure contains the TB level DCI signalling @@ -476,8 +476,8 @@ typedef struct tfuDciFormat1Info typedef struct tfuDciFormatTbInfo { Bool ndi; /*!< New data indicator */ - U8 rv; /*!< Redundancy version Indicator */ - U8 mcs; /*!< 5 bits for MCS */ + uint8_t rv; /*!< Redundancy version Indicator */ + uint8_t mcs; /*!< 5 bits for MCS */ }TfuDciFormatTbInfo; /** @} */ /** @brief This structure contains only the allocation information, that is part @@ -492,15 +492,15 @@ typedef struct tfuDciFormat2AAllocInfo Bool isAllocType0; /*!< TRUE, if allocation type is 0 */ /*tfu_x_001.main_8 - ADD - TFU_RESMAP_CHANGE support */ #ifndef TFU_RESMAP_CHANGE - U8 resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource allocation bitmap. + uint8_t resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource allocation bitmap. LSB aligns with the LSB of the allocation bits.*/ #else TfuAllocMap allocMap; /*!< Allocation Map */ #endif /* TFU_RESMAP_CHANGE */ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t harqProcId; /*!< HARQ process ID */ TfuDciFormatTbInfo tbInfo[2]; /*!< DCI Format 2/2A info per TB */ - U8 precoding; /*!< Precoding information bit */ + uint8_t precoding; /*!< Precoding information bit */ Bool transSwap; /*!< Transport block to codeword swap flag */ } TfuDciFormat2AAllocInfo; @@ -514,10 +514,10 @@ typedef struct tfuDciFormat2AInfo /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 dai; /*!< The downlink assignement index */ + uint8_t dai; /*!< The downlink assignement index */ #endif /** @} */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ } TfuDciFormat2AInfo; /** @brief This structure contains only the allocation information, that is part @@ -531,7 +531,7 @@ typedef struct tfuDciFormat2AllocInfo { Bool isAllocType0; /*!< TRUE, if allocation type is 0 */ #ifndef TFU_RESMAP_CHANGE - U8 resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource + uint8_t resAllocMap[TFU_MAX_ALLOC_BYTES]; /*!< Resource allocation bitmap. LSB aligns with the LSB of the allocation bits.*/ @@ -542,13 +542,13 @@ typedef struct tfuDciFormat2AllocInfo /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 dai; /*!< The downlink assignement index */ + uint8_t dai; /*!< The downlink assignement index */ #endif /** @} */ Bool transSwap; /*!< Transport block to codeword swap flag */ - U8 precoding; /*!< Precoding information bit */ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t precoding; /*!< Precoding information bit */ + uint8_t harqProcId; /*!< HARQ process ID */ TfuDciFormatTbInfo tbInfo[2]; /*!< DCI Format 2/2A info per TB */ } TfuDciFormat2AllocInfo; @@ -563,12 +563,12 @@ typedef struct tfuDciFormat2Info { TfuDciFormat2AllocInfo allocInfo; /*!< Allocation Information to map data on PDSCH */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ /** @{ */ /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 dai; /*!< The downlink assignment index */ + uint8_t dai; /*!< The downlink assignment index */ #endif /** @} */ /** @} */ @@ -578,10 +578,10 @@ typedef struct tfuDciFormat2Info */ typedef struct tfuDciFormat3Info { - U8 tpcCmd[TFU_MAX_2BIT_TPC]; /*!< 2 bits for TPC command. + uint8_t tpcCmd[TFU_MAX_2BIT_TPC]; /*!< 2 bits for TPC command. LSB corresponds to the 1st bit of the 1st byte.*/ - U8 isPucch; /*!< 1 if the TPC meant for PUCCH, 0 if the TPC meant for PUSCH */ + uint8_t isPucch; /*!< 1 if the TPC meant for PUCCH, 0 if the TPC meant for PUSCH */ } TfuDciFormat3Info; @@ -589,10 +589,10 @@ typedef struct tfuDciFormat3Info */ typedef struct tfuDciFormat3AInfo { - U8 tpcCmd[TFU_MAX_1BIT_TPC]; /*!< 1 bit for TPC command. + uint8_t tpcCmd[TFU_MAX_1BIT_TPC]; /*!< 1 bit for TPC command. LSB corresponds to the 1st bit of the 1st byte.*/ - U8 isPucch; /*!< 1 if the TPC meant for PUCCH, 0 if the TPC meant for PUSCH */ + uint8_t isPucch; /*!< 1 if the TPC meant for PUCCH, 0 if the TPC meant for PUSCH */ } TfuDciFormat3AInfo; @@ -607,11 +607,11 @@ typedef struct tfuDciFormat3AInfo typedef struct tfuDciFormat1dAllocInfo { Bool isLocal; /*!< TRUE, if localised VRB */ - TknU8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ + TknUInt8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ TfuAllocMapOrRiv alloc; /*!< Allocation represented as a bit-map or RIV */ - U8 mcs; /*!< 5 bits for MCS */ - U8 rv; /*!< Redundancy version */ - U8 tPmi; /*!< PMI */ + uint8_t mcs; /*!< 5 bits for MCS */ + uint8_t rv; /*!< Redundancy version */ + uint8_t tPmi; /*!< PMI */ } TfuDciFormat1dAllocInfo; /** @brief This structure contains the information carried by DCI format 1D. @@ -623,16 +623,16 @@ typedef struct tfuDciFormat1dAllocInfo typedef struct tfuDciFormat1dInfo { TfuDciFormat1dAllocInfo allocInfo; /*!< Allocation information */ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t harqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 dai; /*!< The downlink assignement index */ + uint8_t dai; /*!< The downlink assignement index */ #endif /** @} */ - U8 dlPwrOffset; /*!< Downlink power offset */ + uint8_t dlPwrOffset; /*!< Downlink power offset */ } TfuDciFormat1dInfo; @@ -645,9 +645,9 @@ typedef struct tfuDciFormat1dInfo */ typedef struct tfuDciFormat1cInfo { - TknU8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ + TknUInt8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ TfuAllocMapOrRiv alloc; /*!< Allocation represented as a bit-map or RIV */ - U8 iTbs; /*!< 5 bits for I-tbs */ + uint8_t iTbs; /*!< 5 bits for I-tbs */ } TfuDciFormat1cInfo; @@ -661,13 +661,13 @@ typedef struct tfuDciFormat1cInfo typedef struct tfuDciFormat1bAllocInfo { Bool isLocal; /*!< TRUE, if localised VRB */ - TknU8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ + TknUInt8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ TfuAllocMapOrRiv alloc; /*!< Allocation represented as a bit-map or RIV */ - U8 mcs; /*!< 5 bits for MCS */ - U8 rv; /*!< Redundancy version */ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t mcs; /*!< 5 bits for MCS */ + uint8_t rv; /*!< Redundancy version */ + uint8_t harqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 tPmi; /*!< PMI */ + uint8_t tPmi; /*!< PMI */ Bool pmiCfm; /*!< PMI confirmation bit */ } TfuDciFormat1bAllocInfo; @@ -677,8 +677,8 @@ typedef struct tfuDciFormat1bAllocInfo */ typedef struct tfuPdcchOrderInfo { - U8 preambleIdx; /*!< Dedicated preamble index */ - U8 prachMaskIdx; /*!< PRACH Mask index used to determine the + uint8_t preambleIdx; /*!< Dedicated preamble index */ + uint8_t prachMaskIdx; /*!< PRACH Mask index used to determine the subframe to be used for RACH */ } TfuPdcchOrderInfo; @@ -692,11 +692,11 @@ typedef struct tfuPdcchOrderInfo typedef struct tfuDciFormat1aAllocInfo { Bool isLocal; /*!< TRUE, if localised VRB */ - TknU8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ + TknUInt8 nGap2; /*!< 1 indicates Ngap=Ngap,1 and 2 indicates Ngap,2 */ TfuAllocMapOrRiv alloc; /*!< Allocation carries RIV or a bitmap */ - U8 mcs; /*!< 5 bits for MCS */ - U8 rv; /*!< Redundancy version */ - TknU8 harqProcId; /*!< HARQ process ID. Reserved + uint8_t mcs; /*!< 5 bits for MCS */ + uint8_t rv; /*!< Redundancy version */ + TknUInt8 harqProcId; /*!< HARQ process ID. Reserved if RA-RNTI, P-RNTI, SI-RNTI is used */ Bool ndi; /*!< 1 bit for new data indicator */ } TfuDciFormat1aAllocInfo; @@ -710,11 +710,11 @@ typedef struct tfudciformat1aPdsch /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - TknU8 dai; /*!< The downlink assignement index. Reserved + TknUInt8 dai; /*!< The downlink assignement index. Reserved if RA-RNTI, P-RNTI, SI-RNTI is used. */ #endif /** @} */ - U8 tpcCmd; /*!< 2 bits for TPC command. */ + uint8_t tpcCmd; /*!< 2 bits for TPC command. */ Bool isTBMsg4; /*!< This field is added to help counting num of Msg4 Tx failures */ } Tfudciformat1aPdsch; /*tfu_x_001.main_6 - Added for SPS support*/ @@ -747,10 +747,10 @@ typedef struct tfuDciFormat1bInfo /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 dai; /*!< The downlink assignement index */ + uint8_t dai; /*!< The downlink assignement index */ #endif /** @} */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ } TfuDciFormat1bInfo; #ifdef EMTC_ENABLE /** @brief This structure contains the information needed to convey DCI format 6-0A. @@ -758,21 +758,21 @@ typedef struct tfuDciFormat1bInfo typedef struct tfuDciFormat60aInfo { Bool hoppingEnbld; /*!< TRUE, if hopping is enabled */ - U32 riv; /*!<9 bits, type2 allocation, RIV as defined in 213 section 7.1.6.3. */ - U8 mcs; /*!< 4 bits for MCS and RV */ - U8 rep; /*!< 2 bits, repetion number */ - U8 hqProcId; /*!< HARQ process ID */ + uint32_t riv; /*!<9 bits, type2 allocation, RIV as defined in 213 section 7.1.6.3. */ + uint8_t mcs; /*!< 4 bits for MCS and RV */ + uint8_t rep; /*!< 2 bits, repetion number */ + uint8_t hqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 rv; /*!< 2 bits - Redundancy version */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t rv; /*!< 2 bits - Redundancy version */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ #ifdef TFU_TDD /* TODO_Mavericks: Check if DAI is required for FDD also */ - U8 ulIdx; /*!< UL index applicable only for TDD */ - U8 dai; /*!< The downlink assignement index */ + uint8_t ulIdx; /*!< UL index applicable only for TDD */ + uint8_t dai; /*!< The downlink assignement index */ #endif Bool cqiReq; /*!< 1 bit for CQI */ Bool isSrs; /*!< 1 bit for SRS */ - U8 dciRep; /*!< 2 bits for DCI Subframe repetition */ + uint8_t dciRep; /*!< 2 bits for DCI Subframe repetition */ } TfuDciFormat60aInfo; /** @brief This structure contains only the allocation information, that is part * of DCI format 6-1A. @@ -783,13 +783,13 @@ typedef struct tfuDciFormat60aInfo */ typedef struct tfuDciFormat61AllocInfo { - U32 riv; /*!<9 bits, type2 allocation, RIV as defined in 213 section 7.1.6.3. */ + uint32_t riv; /*!<9 bits, type2 allocation, RIV as defined in 213 section 7.1.6.3. */ /* TODO_EMTC: Add start RB, number of RB, Narrow band if required */ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t harqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 mcs; /*!< 4 bits for MCS and RV */ - U8 rv; /*!< 2 bits - Redundancy version */ - U32 scramblerInitValue; /*!< Scrambler init(Cinit) value as per 36.211 */ + uint8_t mcs; /*!< 4 bits for MCS and RV */ + uint8_t rv; /*!< 2 bits - Redundancy version */ + uint32_t scramblerInitValue; /*!< Scrambler init(Cinit) value as per 36.211 */ } TfuDciFormat61AllocInfo; /** @brief This structure contains the information carried in DCI format 6-1A @@ -799,27 +799,27 @@ typedef struct tfudciformat61aPdsch { TfuDciFormat61AllocInfo allocInfo; /* Allocation info for 6-1A */ Bool hoppingEnbld; /*!< TRUE, if hopping is enabled */ - U8 rep; /*!< 2 bits, repetion number */ - U8 tpcCmd; /*!< 2 bits for TPC command */ + uint8_t rep; /*!< 2 bits, repetion number */ + uint8_t tpcCmd; /*!< 2 bits for TPC command */ #ifdef TFU_TDD /* TODO_Maveri: Check if DAI is required for FDD also */ - U8 dai; /*!< The downlink assignement index */ + uint8_t dai; /*!< The downlink assignement index */ #endif - U8 antPortAndScrId; /*!< 2 bits - Antenna port(s) and scrambling identity */ + uint8_t antPortAndScrId; /*!< 2 bits - Antenna port(s) and scrambling identity */ Bool isSrs; /*!< 1 bit for SRS */ - U8 tPmi; /*!< 2 0r 4 bits: TPMI information for precoding */ - U8 pmiCfm; /*!< 1 bit, PMI confirmation for precoding */ - U8 harqAckOffst; /*!< 2 bits, HARQ-ACK resource offset */ - U8 dciRep; /*!< 2 bits for DCI Subframe repetition */ + uint8_t tPmi; /*!< 2 0r 4 bits: TPMI information for precoding */ + uint8_t pmiCfm; /*!< 1 bit, PMI confirmation for precoding */ + uint8_t harqAckOffst; /*!< 2 bits, HARQ-ACK resource offset */ + uint8_t dciRep; /*!< 2 bits for DCI Subframe repetition */ Bool isTBMsg4; /*!< This field is added to help counting num of Msg4 Tx failures */ } Tfudciformat61aPdsch; typedef struct tfuPdcchOrderInfoEmtc { - U32 riv; /*!<9 bits, type2 allocation, RIV as defined in 213 section 7.1.6.3. */ - U8 preambleIdx; /*!< Dedicated preamble index */ - U8 prachMaskIdx; /*!< PRACH Mask index used to determine the + uint32_t riv; /*!<9 bits, type2 allocation, RIV as defined in 213 section 7.1.6.3. */ + uint8_t preambleIdx; /*!< Dedicated preamble index */ + uint8_t prachMaskIdx; /*!< PRACH Mask index used to determine the subframe to be used for RACH */ - U8 ceLevel; /*!< 2 bits, Starting CE level */ + uint8_t ceLevel; /*!< 2 bits, Starting CE level */ } TfuPdcchOrderInfoEmtc; /** @brief This structure contains the information needed to convey DCI format 6-1A. @@ -841,29 +841,29 @@ typedef struct tfuDciFormat61aInfo typedef struct tfuDciFormatForEmtcBcch { - U8 mcs; - U16 numOfRb; - U16 rbStart; + uint8_t mcs; + uint16_t numOfRb; + uint16_t rbStart; }TfuDciFormatForEmtcBcch; typedef struct tfuDirectIndication { - U8 directInd; /*!< 8 bit direct Indication Information*/ + uint8_t directInd; /*!< 8 bit direct Indication Information*/ }TfuDirectIndication; typedef struct tfuDciFormat62AllocInfo { - U8 riv; /*!< Narrow Band Index*/ - U8 mcs; /*! UCI is in xPUCCH, 1 -> UCI is in xPUSCH */ - U8 pucchIndex; /*!< Frequency resource index of xPUCCH + uint8_t pucchIndex; /*!< Frequency resource index of xPUCCH for UCI report. [0-15] */ - U8 SCID; /*!< SCID : 0 or 1 */ - U8 bsiRpt; /*!< total num of BSI report[0,1,2,4] */ - U8 briRpt; /*!< total num of BRI report[0,1,2,4] */ + uint8_t SCID; /*!< SCID : 0 or 1 */ + uint8_t bsiRpt; /*!< total num of BSI report[0,1,2,4] */ + uint8_t briRpt; /*!< total num of BRI report[0,1,2,4] */ } TfuUePucchBsiBriRecpInfo; /** @brief This structure is sent from scheduler to PHY in order to request the @@ -1463,9 +1463,9 @@ typedef struct tfuUePucchBsiBriRecpInfo */ typedef struct tfuUePucchUciRecpInfo { - U8 numBits; /*!< 1-22, 1-Only HQ, 5-Only CQI/RI, 6- both HQ CQI/RI */ - U8 pucchIndex; /*!< 0-15, PUCCH Freq Res Idx */ - U8 SCID; /*!< SCID : 0 or 1 */ + uint8_t numBits; /*!< 1-22, 1-Only HQ, 5-Only CQI/RI, 6- both HQ CQI/RI */ + uint8_t pucchIndex; /*!< 0-15, PUCCH Freq Res Idx */ + uint8_t SCID; /*!< SCID : 0 or 1 */ } TfuUePucchUciRecpInfo; #endif @@ -1501,9 +1501,9 @@ typedef struct tfuUePucchRecpReq TfuUePucchUciRecpInfo uciPduInfo; /*!< Info needed to receive HQ/CQI/RI.*/ #endif #ifdef EMTC_ENABLE - U16 format1aRepNumber; - U16 format2aRepNumber; - U32 catMScramblerInitVal; + uint16_t format1aRepNumber; + uint16_t format2aRepNumber; + uint32_t catMScramblerInitVal; #endif } TfuUePucchRecpReq; @@ -1528,49 +1528,49 @@ typedef enum */ typedef struct tfuUeUlSchRecpInfo { - U16 size; /*!< Length of the Data in bytes*/ + uint16_t size; /*!< Length of the Data in bytes*/ /* ToDo : rbStart and numRb is kept for legacy, need to remove later */ - U8 rbStart; /*!< Start of Resource Block of + uint8_t rbStart; /*!< Start of Resource Block of allocation */ - U8 numRb; /*!< Number of RBs allocated */ + uint8_t numRb; /*!< Number of RBs allocated */ TfuModScheme modType; /*!< Modulation order */ - U8 nDmrs; /*!< 3 bits for DMRS cyclic shift */ + uint8_t nDmrs; /*!< 3 bits for DMRS cyclic shift */ Bool hoppingEnbld; /*!< TRUE, if hopping is enabled */ - U8 hoppingBits; /*!< Hopping bits as mentioned in + uint8_t hoppingBits; /*!< Hopping bits as mentioned in 213 8.4 */ Bool isRtx; /*!< TRUE, if this is a retx */ Bool ndi; /*!< New Data Indication */ - U8 rv; /*!< Redundancy version */ - U8 harqProcId; /*!< HARQ process ID */ - U8 txMode; /*!< UE's UL transmission mode: + uint8_t rv; /*!< Redundancy version */ + uint8_t harqProcId; /*!< HARQ process ID */ + uint8_t txMode; /*!< UE's UL transmission mode: 0 = SISO/SIMO, 1 = MIMO */ - U8 crntTxNb; /*!< Current Harq Tx Cntr of this TB. + uint8_t crntTxNb; /*!< Current Harq Tx Cntr of this TB. Valid if frequency hopping is enabled */ Bool nSrs; /*!< Indicates if RBs for this TB overlap with SRS configuration. FALSE = No overlap,TRUE=overlap */ - U8 mcs; /*!< MCS */ + uint8_t mcs; /*!< MCS */ #ifdef EMTC_ENABLE - U32 repetitionNumber; - U32 scramblerInitValue; + uint32_t repetitionNumber; + uint32_t scramblerInitValue; #endif #ifdef TFU_5GTF - U8 rbgStart; /* The starting resource block group for + uint8_t rbgStart; /* The starting resource block group for this xPUSCH allocation.*/ - U8 numRbg; /* The number of resource block groups + uint8_t numRbg; /* The number of resource block groups allocated to this ULSCH grant.*/ - U8 xPUSCHRange; /* 0 : the stopping of xPUSCH is the 12th symbol, + uint8_t xPUSCHRange; /* 0 : the stopping of xPUSCH is the 12th symbol, 1 : the stopping of xPUSCH is the 13th symbol 2 : the stopping of xPUSCH is the final (14th) symbol */ - U8 nAntPortLayer;/* 0:1 Layer, port 40 1:1 Layer, port 41 2:1 Layer, port 42 + uint8_t nAntPortLayer;/* 0:1 Layer, port 40 1:1 Layer, port 41 2:1 Layer, port 42 3:1 Layer, port 43 4:2 Layers, ports {40, 41} 5:2 Layers, ports {42, 43} */ - U8 SCID; /*SCID : 0 or 1 */ - U8 PMI; /* Precoding matrix indicator, see V5G.211 section Table 5.3.3A.2-1 */ + uint8_t SCID; /*SCID : 0 or 1 */ + uint8_t PMI; /* Precoding matrix indicator, see V5G.211 section Table 5.3.3A.2-1 */ Bool uciWoTBFlag; /* 0: UCI without transmit block 1: with transmit block */ - U8 beamIndex; /* Receiving beam index Value: 0->7 */ + uint8_t beamIndex; /* Receiving beam index Value: 0->7 */ #endif } TfuUeUlSchRecpInfo; @@ -1579,21 +1579,21 @@ typedef struct tfuUeUlSchRecpInfo */ typedef struct tfuUePuschCqiRecpInfo { - U8 reportType; /*! Type of CSI report. + uint8_t reportType; /*! Type of CSI report. 0 = periodic report. 1 = aperiodic report */ - U8 cCNum; /*! The number of CC in the aperiodic report. + uint8_t cCNum; /*! The number of CC in the aperiodic report. Value: 1->5 */ - U8 cqiPmiSzR1[CM_LTE_MAX_CELLS]; /*!< Size of DL CQI/PMI in bits for + uint8_t cqiPmiSzR1[CM_LTE_MAX_CELLS]; /*!< Size of DL CQI/PMI in bits for rank 1 report[0-255] */ - U8 cqiPmiSzRn1[CM_LTE_MAX_CELLS]; /*!< Size of DL CQI/PMI in bits for + uint8_t cqiPmiSzRn1[CM_LTE_MAX_CELLS]; /*!< Size of DL CQI/PMI in bits for rank > 1 report[0-255] */ - TknU8 riSz[CM_LTE_MAX_CELLS]; /*!< Size of RI in bits[1-2]. Value will + TknUInt8 riSz[CM_LTE_MAX_CELLS]; /*!< Size of RI in bits[1-2]. Value will be 0 (present flag-false) in frames with no RI Occasion*/ - U8 cqiBetaOff; /*!< Beta offset for CQI[0-15]. Given + uint8_t cqiBetaOff; /*!< Beta offset for CQI[0-15]. Given by RRC */ - U8 riBetaOff; /*!< Beta offset for RI[0-15]. Given + uint8_t riBetaOff; /*!< Beta offset for RI[0-15]. Given by RRC */ } TfuUePuschCqiRecpInfo; @@ -1602,14 +1602,14 @@ typedef struct tfuUePuschCqiRecpInfo */ typedef struct tfuUePuschHqRecpInfo { - U8 hqSz; /*!< Number of feedback bits: + uint8_t hqSz; /*!< Number of feedback bits: FDD- 1 or 2 TDD- 1 to 4*/ - U8 hqBetaOff; /*!< Beta offset for Harq[0-15]. Given + uint8_t hqBetaOff; /*!< Beta offset for Harq[0-15]. Given by RRC */ #ifdef TFU_TDD TfuAckNackMode hqFdbkMode; /*!< Feedback mode in TDD */ - U8 nBundled; /*!< nBundled value intended for PHY */ - U8 ulDai; /*!< Ul Dai */ + uint8_t nBundled; /*!< nBundled value intended for PHY */ + uint8_t ulDai; /*!< Ul Dai */ #endif } TfuUePuschHqRecpInfo; @@ -1640,11 +1640,11 @@ typedef struct tfuUePuschRecpReq in rcpInfo */ TfuUePuschSrsRecpInfo srsInfo; /*!< Info needed to receive SRS. Valid if SRS is included in rcpInfo */ - TknU8 initialNSrs; /*!< Not present in case of only data + TknUInt8 initialNSrs; /*!< Not present in case of only data [0/1]. 0 = last OFDM symbol is not punctured. 1 = last OFDM symbol is punctured */ - TknU8 initialNumRbs; /*!< Number of RBs for initial + TknUInt8 initialNumRbs; /*!< Number of RBs for initial transmission of this TB. Not present in case of only data */ } TfuUePuschRecpReq; @@ -1668,7 +1668,7 @@ typedef struct tfuUeRecpReqInfo CmLList lnk; /*!< Link of Linked List */ CmLteRnti rnti; /*!< RNTI of the scheduled UE */ #ifdef TFU_5GTF - U8 groupId; /*!< UE Group ID */ + uint8_t groupId; /*!< UE Group ID */ #endif TfuRecpReqType type; /*!< Type indicating PUCCH or PUSCH */ union @@ -1720,17 +1720,17 @@ typedef struct tfuUePucchRecpReq /** @name TFU_TDD */ /** @{ */ #ifndef TFU_TDD - U16 nCce; /*!< Number of first CCE used for transmission of + uint16_t nCce; /*!< Number of first CCE used for transmission of the corresponding DCI assignment. Used to decode HARQ-ACK. */ #else - U16 nCce[TFU_MAX_M]; /*!< nCCE is an array in the case of TDD + uint16_t nCce[TFU_MAX_M]; /*!< nCCE is an array in the case of TDD HARQ ACK multiplexing. This value is needed for the calculation of (n^1 PUCCH,i) for i = {0,1,2,3} */ #endif /** @} */ - U16 n1Pucch; /*!< n1 PUCCH for ACK NACK repetition. + uint16_t n1Pucch; /*!< n1 PUCCH for ACK NACK repetition. This is the resource that UE must transmit the HARQ Feedback except the first one. */ @@ -1746,12 +1746,12 @@ typedef struct tfuUePucchRecpReq /** @name TFU_TDD */ /** @{ */ #ifdef TFU_TDD - U8 multCnt; /*!< Number of ACK/NACK resources present */ - U8 M; /*!< Number of elements in the set K - tb. + uint8_t multCnt; /*!< Number of ACK/NACK resources present */ + uint8_t M; /*!< Number of elements in the set K - tb. 10.1-1 213 */ - U8 m[TFU_MAX_M]; /*!< Values utilized for TDD HARQ-ACK bundling + uint8_t m[TFU_MAX_M]; /*!< Values utilized for TDD HARQ-ACK bundling mode */ - U8 p[TFU_MAX_M]; /*!< "p" from 10.1 in 213 */ + uint8_t p[TFU_MAX_M]; /*!< "p" from 10.1 in 213 */ #endif /** @} */ } TfuUePucchRecpReq; @@ -1774,9 +1774,9 @@ typedef enum typedef struct tfuUeMsg3RecpReq { Bool hoppingEnbld; /*!< TRUE, if hopping is enabled */ - U8 rbStart; /*!< Start of Resource Block of allocation */ - U8 numRb; /*!< Number of RBs allocated */ - U8 mcs; /*!< 3 bits for MCS */ + uint8_t rbStart; /*!< Start of Resource Block of allocation */ + uint8_t numRb; /*!< Number of RBs allocated */ + uint8_t mcs; /*!< 3 bits for MCS */ Bool expCqi; /*!< TRUE, if CQI report along with PUSCH data is expected */ Bool ulDelay; /*!< UL Delay bit 6.2 of 213 */ @@ -1784,12 +1784,12 @@ typedef struct tfuUeMsg3RecpReq * Non-adaptive retransmission is implemented */ Bool isRtx; /*!< TRUE, if this is a Msg3 retransmission */ /*ccpu00128993 - ADD - fix for msg3 softcombining bug*/ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t harqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ - U8 rv; /*!< Redundancy version */ - U8 nDmrs; /*!< 3 bits for DMRS cyclic shift */ + uint8_t rv; /*!< Redundancy version */ + uint8_t nDmrs; /*!< 3 bits for DMRS cyclic shift */ /* tfu_x_001.main_2:107387:To include the size and ModOrder in DataRecp Request */ - U16 size; /*!< Length of the Data in bytes */ + uint16_t size; /*!< Length of the Data in bytes */ TfuModScheme modType; /*!< Modulation order */ } TfuUeMsg3RecpReq; @@ -1802,15 +1802,15 @@ typedef struct tfuUeMsg3RecpReq typedef struct tfuUePuschRecpReq { Bool hoppingEnbld; /*!< TRUE, if hopping is enabled */ - U8 hoppingBits; /*!< Hopping bits as mentioned in 213 8.4 */ - U8 rbStart; /*!< Start of Resource Block of allocation */ - U8 numRb; /*!< Number of RBs allocated */ - U8 mcs; /*!< 5 bits for MCS and RV */ - U8 harqProcId; /*!< HARQ process ID */ + uint8_t hoppingBits; /*!< Hopping bits as mentioned in 213 8.4 */ + uint8_t rbStart; /*!< Start of Resource Block of allocation */ + uint8_t numRb; /*!< Number of RBs allocated */ + uint8_t mcs; /*!< 5 bits for MCS and RV */ + uint8_t harqProcId; /*!< HARQ process ID */ Bool ndi; /*!< 1 bit for new data indicator */ Bool isRtx; /*!< TRUE, if this is a retransmission */ - U8 rv; /*!< Redundancy version */ - U8 nDmrs; /*!< 3 bits for DMRS cyclic shift */ + uint8_t rv; /*!< Redundancy version */ + uint8_t nDmrs; /*!< 3 bits for DMRS cyclic shift */ Bool expCqi; /*!< TRUE, if CQI report along with PUSCH data is expected */ Bool expHarq; /*!< TRUE, if HARQ feedback along @@ -1819,7 +1819,7 @@ typedef struct tfuUePuschRecpReq this value is valid, only if expCqi is TRUE. */ /* tfu_x_001.main_2:107387:To include the size and ModOrder in DataRecp Req.*/ - U16 size; /*!< Length of the Data in bytes*/ + uint16_t size; /*!< Length of the Data in bytes*/ TfuModScheme modType; /*!< Modulation order */ } TfuUePuschRecpReq; @@ -1848,7 +1848,7 @@ typedef union tfuDlCqiInfo { TfuDlCqiPucch pucchCqi; /*!< PUCCH CQI information */ struct { - U8 numOfCells; + uint8_t numOfCells; TfuDlCqiPusch puschCqi[CM_LTE_MAX_CELLS]; /*!< PUSCH CQI information */ }pusch; } TfuDlCqiInfo; @@ -1894,24 +1894,24 @@ typedef struct tfuRecpReqInfo Bool isSpsRnti; /*!< TRUE if rnti is SPS RNTI */ CmLteRnti crnti; /*!< crnti in case rnti is SPS RNTI */ #endif - U16 nCce; /*!< CCE index */ + uint16_t nCce; /*!< CCE index */ CmLteAggrLvl aggrLvl; /*!< Aggregation level possible values are {1, 2, ...,8}. */ - U8 dciNumOfBits; /*!< The size of DCI in bits */ + uint8_t dciNumOfBits; /*!< The size of DCI in bits */ TfuDciInfo dci; /*!< PDCCH DCI format */ #ifdef EMTC_ENABLE - U8 distributedAlloc; - U8 localizedAntPortIndex; - U16 dmrs_txpowerControl; - U8 nRBxm; - U8 startRB; - U32 scramblerInit; - U32 demodRSInitValue; + uint8_t distributedAlloc; + uint8_t localizedAntPortIndex; + uint16_t dmrs_txpowerControl; + uint8_t nRBxm; + uint8_t startRB; + uint32_t scramblerInit; + uint32_t demodRSInitValue; #endif #ifdef TFU_5GTF - U8 sectorId; /* Sector index of the 5GNB. Value: 0->2 */ - U8 sccIdx; /* Serving Cell index in the given sector. Value: 0->7 */ - U8 grpId; /* Ue group Id */ + uint8_t sectorId; /* Sector index of the 5GNB. Value: 0->2 */ + uint8_t sccIdx; /* Serving Cell index in the given sector. Value: 0->7 */ + uint8_t grpId; /* Ue group Id */ #endif } TfuPdcchInfo; @@ -1926,17 +1926,17 @@ typedef struct tfuRecpReqInfo typedef struct tfuPhichInfo { CmLList lnk; /*!< Link of Linked List */ - U8 rbStart; /*!< Starting RB */ - U8 nDmrs; /*!< DMRS offset index */ + uint8_t rbStart; /*!< Starting RB */ + uint8_t nDmrs; /*!< DMRS offset index */ Bool isAck; /*!< TRUE, if ACK, else NACK */ Bool isForMsg3; #ifdef TFU_TDD - U8 iPhich; /*!< Needed to Calculate PHICH + uint8_t iPhich; /*!< Needed to Calculate PHICH location. For TDD only */ #endif /* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ #ifdef TFU_UPGRADE - U16 txPower; /*!< Offset to the ref. signal power */ + uint16_t txPower; /*!< Offset to the ref. signal power */ #endif } TfuPhichInfo; @@ -1952,8 +1952,8 @@ typedef struct tfuCntrlReqInfo CmLteCellId cellId; /*!< Cell ID */ CmLteTimingInfo ulTiming; /*!< Timing information for UL PDCCHs and PHICH */ CmLteTimingInfo dlTiming; /*!< Timing information for DL PDCCHs and CFI */ - U8 cfi; /*!< CFI value that goes on the PCFICH control channel */ - U32 numDlActvUes; /*!< Active Ues reqrd for rgu dyna delta*/ + uint8_t cfi; /*!< CFI value that goes on the PCFICH control channel */ + uint32_t numDlActvUes; /*!< Active Ues reqrd for rgu dyna delta*/ CmLListCp ulPdcchLst; /*!< List of Uplink PDCCHs (DCI format 0) for the TfuPdcchInfo subframe */ CmLListCp dlPdcchLst; /*!< List of Downlink PDCCHs for the TfuPdcchInfo subframe */ CmLListCp phichLst; /*!< List of PHICHs for the TfuPhichInfo subframe */ @@ -2015,9 +2015,9 @@ typedef enum tfuTxMode */ typedef struct tfuBfVectorInfo { - U8 sbIndex; /** Subband Index */ - U8 numPhyAnt; /** Number of Physical Antennas */ - U16 bfValue[TFU_MAX_PHY_ANTENNA]; /** Beam forming vector element for + uint8_t sbIndex; /** Subband Index */ + uint8_t numPhyAnt; /** Number of Physical Antennas */ + uint16_t bfValue[TFU_MAX_PHY_ANTENNA]; /** Beam forming vector element for physical antenna #i real 8 bits followed by imaginary 8 bits */ }TfuBfVectorInfo; #endif @@ -2029,7 +2029,7 @@ typedef enum tfuTxMode typedef struct tfuDatReqLchInfo { Bool freeBuff; /* !< If TRUE, the buffer is to be freed by MAC */ - U32 numPdu; /*!< No of PDUs */ + uint32_t numPdu; /*!< No of PDUs */ Buffer *mBuf[TFU_MAX_PDU]; /*!10000, representing -6 dB to 4 dB in 0.001 dB steps */ /* LTE_ADV_FLAG_REMOVED_START */ - U8 pa; /*!< ratio of PDSCH EPRE to cell-specific RS + uint8_t pa; /*!< ratio of PDSCH EPRE to cell-specific RS EPRE among PDSCH REs */ #endif - U8 isEnbSFR; /*to tell if SFR is enabled*/ + uint8_t isEnbSFR; /*to tell if SFR is enabled*/ } TfuDatReqPduInfo; @@ -2152,8 +2152,8 @@ typedef struct tfuDatIndInfo CmLteTimingInfo timingInfo; /*!< Timing information */ CmLListCp datIndLst; /*!< List of data PDUs - TfuDatInfo */ #ifdef TFU_5GTF - U8 sectorId; /* Sector index of the 5GNB. Value: 0->2 */ - U8 sccIdx; /* Serving Cell index in the given sector. Value: 0->7 */ + uint8_t sectorId; /* Sector index of the 5GNB. Value: 0->2 */ + uint8_t sccIdx; /* Serving Cell index in the given sector. Value: 0->7 */ #endif } TfuDatIndInfo; @@ -2208,9 +2208,9 @@ typedef struct tfuHqInfo CmLList lnk; /*!< Link of Linked List */ CmLteRnti rnti; /*!< RNTI of the UE */ TfuAckNackMode hqFdbkMode; /*!< Feedback mode */ - U8 noOfTbs; /*!< Number of TBs */ + uint8_t noOfTbs; /*!< Number of TBs */ #ifdef TFU_TDD - U8 M; /*!< Number of feedbacks multiplexed */ + uint8_t M; /*!< Number of feedbacks multiplexed */ #endif /* TFU_TDD */ TfuHqFdbk isAck[TFU_MAX_HARQ_FDBKS]; /*!< Harq feedbacks */ Bool isPusch; /*!< Indicates if this HARQ feedback is @@ -2248,8 +2248,8 @@ typedef struct tfuUlCqiRpt CmLteRnti rnti; /*!< RNTI */ Bool isTxPort0; /*!< TRUE, if TX port is 0, else TX port is 1 */ - U8 wideCqi; /*!< Wide-band CQI*/ - U8 numSubband; /*!< Number of sub-bands */ + uint8_t wideCqi; /*!< Wide-band CQI*/ + uint8_t numSubband; /*!< Number of sub-bands */ TfuUlCqiInfo ulCqiInfoArr[TFU_MAX_UL_SUBBAND]; /*!< UL CQI information array */ } TfuUlCqiRpt; @@ -2274,7 +2274,7 @@ typedef struct tfuDoaRpt { CmLList lnk; /*!< Link of Linked List */ CmLteRnti rnti; /*!< RNTI */ - U32 doa; /*!< DOA for rnti */ + uint32_t doa; /*!< DOA for rnti */ } TfuDoaRpt; /** @brief This structure conveys the DOA (Direction Of Arrival) indicator. @@ -2322,7 +2322,7 @@ typedef struct tfuCrcInfo CmLList lnk; /*!< Link of Linked List */ CmLteRnti rnti; /*!< RNTI of the UE */ Bool isFailure; /*!< TRUE, if CRC check fails */ - TknU8 rv; /*!< Redundancy version provided by PHY */ + TknUInt8 rv; /*!< Redundancy version provided by PHY */ Bool isDtx; /*! If SNR < 0 , set to TRUE */ } TfuCrcInfo; @@ -2338,8 +2338,8 @@ typedef struct tfuCrcIndInfo CmLteTimingInfo timingInfo; /*!< Timing information */ CmLListCp crcLst; /*!< List of CRC indications - TfuCrcInfo */ #ifdef TFU_5GTF - U8 sectorId; /* Sector index of the 5GNB. Value: 0->2 */ - U8 sccIdx; /* Serving Cell index in the given sector. Value: 0->7 */ + uint8_t sectorId; /* Sector index of the 5GNB. Value: 0->2 */ + uint8_t sccIdx; /* Serving Cell index in the given sector. Value: 0->7 */ #endif } TfuCrcIndInfo; @@ -2350,7 +2350,7 @@ typedef struct tfuCrcIndInfo { CmLList lnk; /*!< Link of Linked List */ CmLteRnti rnti; /*!< RNTI */ - U8 timingAdv; /*!< Value of the Timing advance */ + uint8_t timingAdv; /*!< Value of the Timing advance */ } TfuTimingAdvInfo; @@ -2376,10 +2376,10 @@ typedef struct tfuTtiCellInfo CmLteTimingInfo timingInfo; /*!< SFN, SF for each cell */ Bool isDummyTti; /*!< Flag to indicate dummy TTI */ /* 4UE_TTI_DELTA */ - U8 schTickDelta; /*!< Dynamic Delta for SCH. Value will vary + uint8_t schTickDelta; /*!< Dynamic Delta for SCH. Value will vary according to num of active UEs */ - U8 dlBlankSf; /*!< TODO */ - U8 ulBlankSf; /*!< TODO */ + uint8_t dlBlankSf; /*!< TODO */ + uint8_t ulBlankSf; /*!< TODO */ } TfuTtiCellInfo; @@ -2388,7 +2388,7 @@ typedef struct tfuTtiCellInfo */ typedef struct tfuTtiIndInfo { - U8 numCells; /*!< Num of Cells */ + uint8_t numCells; /*!< Num of Cells */ TfuTtiCellInfo cells[CM_LTE_MAX_CELLS]; /*!< Array of Cell timing info */ } TfuTtiIndInfo; @@ -2403,13 +2403,13 @@ typedef struct tfuTtiIndInfo */ typedef struct tfuRaReqInfo { - U8 rapId; /*!< ID of the preamble choosen by the UE for Random Acess.*/ - U16 ta; /*!< Amount of Timing advance needed by the UE for it + uint8_t rapId; /*!< ID of the preamble choosen by the UE for Random Acess.*/ + uint16_t ta; /*!< Amount of Timing advance needed by the UE for it to be uplink synchronized, this is calculated by Physical layer. */ - U8 tpc; /*!< Transmit power control command that the physical + uint8_t tpc; /*!< Transmit power control command that the physical layer calculates from the RA request received.*/ Bool cqiPres; /*!< TRUE, if CQI present. */ - U8 cqiIdx; /*!< This is the Channel Quality Index of the UL channel estimated by the + uint8_t cqiIdx; /*!< This is the Channel Quality Index of the UL channel estimated by the physical layer. This aids MAC in the scheduling of this UE. */ } TfuRaReqInfo; @@ -2419,15 +2419,15 @@ typedef struct tfuRaReqInfo typedef struct tfuRachInfo { CmLteRnti raRnti; /*!< RA-RNTI */ - U8 numRaReqInfo; /*!< Number of RA requests */ + uint8_t numRaReqInfo; /*!< Number of RA requests */ #ifdef PRACH_5GTF - U8 nPreambleFormat; - U8 nPRACHConfiguration; - U8 nRootSeq; - U8 nCyclicShift; - U8 nf1Value; - U8 nPRACHSymbIndex; - U16 nPwrFactor; + uint8_t nPreambleFormat; + uint8_t nPRACHConfiguration; + uint8_t nRootSeq; + uint8_t nCyclicShift; + uint8_t nf1Value; + uint8_t nPRACHSymbIndex; + uint16_t nPwrFactor; #endif TfuRaReqInfo *raReqInfoArr; /*!< RA requests */ } TfuRachInfo; @@ -2452,7 +2452,7 @@ typedef struct tfuRaReqIndInfo CmMemListCp memCp; /*!< Memory control point */ CmLteCellId cellId; /*!< Cell ID */ CmLteTimingInfo timingInfo; /*!< Timing information */ - U8 nmbOfRaRnti; /*!< Number of RA-RNTIs present for FDD this + uint8_t nmbOfRaRnti; /*!< Number of RA-RNTIs present for FDD this must be 1 for TDD, it can be a max of 6. */ TfuRachInfo *rachInfoArr; /*!< Array of RACH information per @@ -2503,2008 +2503,6 @@ typedef struct tfuDelDatReqInfo } TfuDelDatReqInfo; #endif -typedef struct slotIndInfo -{ - U16 sfn; - U16 slot; -}SlotIndInfo; - -typedef S16 (*TfuBndReq) ARGS(( - Pst* pst, - SuId suId, - SpId spId)); -typedef S16 (*TfuBndCfm) ARGS(( - Pst* pst, - SuId suId, - U8 status)); -typedef S16 (*TfuUbndReq) ARGS(( - Pst* pst, - SpId spId, - Reason reason)); - -typedef S16 (*TfuSchBndReq) ARGS(( - Pst* pst, - SuId suId, - SpId spId)); -typedef S16 (*TfuSchBndCfm) ARGS(( - Pst* pst, - SuId suId, - U8 status)); -typedef S16 (*TfuSchUbndReq) ARGS(( - Pst* pst, - SpId spId, - Reason reason)); - -typedef S16 (*TfuRaReqInd) ARGS(( - Pst * pst, - SuId suId, - TfuRaReqIndInfo *raReqInd)); - -typedef S16 (*TfuRecpReq) ARGS(( - Pst * pst, - SpId spId, - TfuRecpReqInfo *recpReq)); - -typedef S16 (*TfuUlCqiInd) ARGS(( - Pst * pst, - SuId suId, - TfuUlCqiIndInfo * ulCqiInd)); - -typedef S16 (*TfuDoaInd) ARGS(( - Pst * pst, - SuId suId, - TfuDoaIndInfo * doaInd)); -typedef S16 (*TfuHqInd) ARGS(( - Pst * pst, - SuId suId, - TfuHqIndInfo * hqInd)); - -typedef S16 (*TfuSrInd) ARGS(( - Pst * pst, - SuId suId, - TfuSrIndInfo * srInd)); - -typedef S16 (*TfuDlCqiInd) ARGS(( - Pst * pst, - SuId suId, - TfuDlCqiIndInfo * dlCqiInd)); -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE -typedef S16 (*TfuRawCqiInd) ARGS(( - Pst *pst, - SuId suId, - TfuRawCqiIndInfo *rawCqiInd)); - -typedef S16 (*TfuSrsInd) ARGS(( - Pst *pst, - SuId suId, - TfuSrsIndInfo *srsInd)); -#endif /* TFU_UPGRADE */ - -typedef S16 (*TfuDatInd) ARGS(( - Pst * pst, - SuId suId, - TfuDatIndInfo * datInd)); - -typedef S16 (*TfuCrcInd) ARGS(( - Pst * pst, - SuId suId, - TfuCrcIndInfo * crcInd)); - -typedef S16 (*TfuTimingAdvInd) ARGS(( - Pst * pst, - SuId suId, - TfuTimingAdvIndInfo * timingAdvInd)); - -typedef S16 (*TfuDatReq) ARGS(( - Pst * pst, - SpId spId, - TfuDatReqInfo * datReq)); - -#ifdef L2_OPTMZ -typedef S16 (*TfuDelDatReq) ARGS(( - Pst * pst, - SpId spId, - TfuDelDatReqInfo * datReq)); -#endif - -typedef S16 (*TfuCntrlReq) ARGS(( - Pst *pst, - SpId spId, - TfuCntrlReqInfo *cntrlReq)); -/* CA dev Start */ -typedef S16 (*TfuTtiCell) ARGS(( - Pst * pst, - SuId suId, - TfuTtiCellInfo * ttiInd)); -/* CA dev End */ -typedef S16 (*TfuTtiInd) ARGS(( - Pst * pst, - SlotIndInfo * slotInd)); - -#if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD) -typedef S16 (*TfuNonRtInd) ARGS(( - Pst * pst, - SuId suId)); -#endif - -typedef S16 (*TfuSchTtiInd) ARGS(( - Pst * pst, -// SuId suId, - SlotIndInfo* slotInd)); - -typedef S16 (*TfuPucchDeltaPwrInd) ARGS(( - Pst * pst, - SuId suId, - TfuPucchDeltaPwrIndInfo * pucchDeltaPwr)); - -/*LAA: Error Indication on LAA SCell*/ -typedef S16 (*TfuErrInd) ARGS(( - Pst * pst, - SuId suId, - TfuErrIndInfo * errInd)); - -/** @brief This API is used to send a Bind Request from MAC to PHY. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param spId SAP ID of the service provider. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuBndReq ARGS((Pst *pst, SuId suId, SpId spId)); - -/** @brief This API is used to send a Bind Request from Scheduler to PHY. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param spId SAP ID of the service provider. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuSchBndReq ARGS((Pst *pst, SuId suId, SpId spId)); - - -/** @brief This API is used to receive a Bind Confirm from PHY to MAC. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param status Status of the bind request. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuBndCfm ARGS((Pst *pst, SuId suId, U8 status)); - -/** @brief This API is used to receive a Bind Confirm from PHY to Scheduler. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param status Status of the bind request. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuSchBndCfm ARGS((Pst *pst, SuId suId, U8 status)); - - -/** @brief This API is used to send an Unbind Request from MAC to PHY. - * @param pst Pointer to the post structure. - * @param spId SAP ID of the service provider. - * @param reason Reason for Unbind request. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuUbndReq ARGS((Pst *pst, SpId spId, Reason reason)); - -/** @brief This API is used to send an Unbind Request from Scheduler to PHY. - * @param pst Pointer to the post structure. - * @param spId SAP ID of the service provider. - * @param reason Reason for Unbind request. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuSchUbndReq ARGS((Pst *pst, SpId spId, Reason reason)); - - -/** @brief This API is used to indication Random Access Request reception from - * PHY to Scheduler. - * @details This primitive is used by physical layer to indicate the reception - * of a Random Access Request from a set of UEs. The information passed consists - * of the RA-RNTI and the list of preambles received. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param raReqInd Pointer to the TfuRaReqIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuRaReqInd ARGS((Pst *pst, SuId suId, TfuRaReqIndInfo - *raReqInd)); - - -/** @brief This primitive is sent from Scheduler to PHY. - * @details This primitive provides PHY with all the information required by - * PHY to decode transmissions from the UE on either PUCCH or PUSCH. - * -# On PUCCH, UE can transmit the following: - * -# SR - * -# HARQ feedback - * -# CQI report - * -# HARQ + CQI - * -# HARQ + SR - * -# On PUSCH, UE can transmit the following: - * -# Data - * -# Data + CQI - * -# Data + HARQ Feedback - * This primitive carries all the information for the expected subframe for all - * the UEs that are scheduled to transmit. - * @param pst Pointer to the post structure. - * @param spId SAP ID of the service provider. - * @param recpReq Pointer to the TfuRecpReqInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuRecpReq ARGS((Pst *pst, SpId spId, TfuRecpReqInfo *recpReq)); - - /** @brief This primitive is sent from Scheduler to PHY. It provides PHY with - * all the control information. - * @details This primitive carries the information sent on the following - * channels: - * -# PDCCH - * -# PHICH - * -# PCFICH - * - * @param pst - * @param spId - * @param cntrlReq pointer to TfuCntrlReqInfo - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuCntrlReq ARGS((Pst *pst, SpId spId, TfuCntrlReqInfo *cntrlReq)); - - /** @brief This primitive carries the Data PDUs from MAC to PHY for transmission. - * @details The data being sent in this primitive is meant to be transmitted on - * the downlink channel PDSCH and PBCH (if present). To facilitate physical - * layer processing, requisite control information is also sent along with the - * data. - * @sa TfUiTfuCntrlReq - * @param pst - * @param spId - * @param datReq pointer to TfuDatReqInfo - * @return - */ -EXTERN S16 TfUiTfuDatReq ARGS((Pst *pst, SpId spId, TfuDatReqInfo *datReq)); - -#ifdef L2_OPTMZ -/** @brief This primitive carries the cellId and UeId for which datReq need to - * deleted in CL. - * @details This primitive is used to delete datReq PDUs present in CL for - * which got changed or similar other scenarios. These scenarios are possible - * only when L2_OPTMZ flag is enabled. - * @sa TfUiTfuDelDatReq - * @param pst - * @param spId - * @param datReq pointer to TfuDelDatReqInfo - * @return - */ - -EXTERN S16 TfUiTfuDelDatReq ARGS((Pst *pst, SpId spId, TfuDelDatReqInfo *datReq)); -#endif - -/** @brief This Primitive carries the Data PDUs from PHY to MAC. - * @details The Uplink Data, that is, the data transmitted by the UEs received by the - * physical layer at the eNodeB in the subframe (indicated by the timingInfo), - * is relayed to MAC using this primitive. - * @param pst - * @param suId - * @param datInd pointer to TfuDatIndInfo - * @return - */ -EXTERN S16 TfUiTfuDatInd ARGS((Pst *pst, SuId suId, TfuDatIndInfo *datInd)); - -/** @brief This primitive carries the HARQ Feedback from PHY to Scheduler. - * @details HARQ feedback is sent by the UE to the eNodeB, an ACK is sent if UE - * can successfully recieve the data transmitted by the eNodeB, else a NACK is - * sent. This feedback is utilized by MAC for further scheduling, for instance - * it can schedule an adaptive retransmission of the same data. - * @param pst - * @param suId - * @param hqInd pointer to TfuHqIndInfo - * @return - */ -EXTERN S16 TfUiTfuHqInd ARGS((Pst *pst, SuId suId, TfuHqIndInfo *hqInd)); - -/** @brief This primitive carries the SR Indication from PHY to Scheduler. - * @details Scheduling Request (SR) is sent by the UE to the eNodeB to request - * for Uplink (UL) grant. This primitive carries a list of SRs for a number of - * UEs received in the indicated subframe. - * @param pst - * @param suId - * @param srInd pointer to TfuSrIndInfo - * @return - */ -EXTERN S16 TfUiTfuSrInd ARGS((Pst *pst, SuId suId, TfuSrIndInfo *srInd)); - -/** @brief This API is used to indicate CQI reporting from PHY to Scheduler. - * @details This primitive carries an estimate of the Uplink Channel Quality - * Index (CQI) for a list of UEs. This is an estimate of the uplink channel - * quality, that is, the transmission from UE as calculated at the Physical layer at - * the eNodeB. - * It carries a list of sub-band CQIs for each UE. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param ulCqiInd Pointer to the TfuUlCqiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuUlCqiInd ARGS((Pst *pst, SuId suId, - TfuUlCqiIndInfo *ulCqiInd)); - -/** @brief This API is used by the Physical layer to indicate if the CRC Check - * on the PUSCH Data is successful or not. - * @details This primitive carries CRC indication for a list of UEs. This - * is utilized in the scenario where MAC requested the reception of Uplink data - * for a particular UE. On reception of the PUSCH data, the CRC check on it - * failed. This CRC failure is indicated to MAC, which utillizes this - * information for further scheduling. - * Physical layer indicates failure or success for each PUSCH transmission. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param crcIndInfo Pointer to the TfuCrcIndInfo. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuCrcInd ARGS((Pst *pst, SuId suId, - TfuCrcIndInfo *crcIndInfo)); - -/** @brief This API is used to indicate a Timing Advance from PHY to Scheduler. - * @details This primitive carries timing advance information for a number of - * UEs that may need timing advance. Timing advance information is an estimate - * of the timing adjustment that an UE needs to apply in order to be - * synchronized in Uplink. This estimate is to be calculated by physical layer. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param timingAdvInd Pointer to the TfuTimingAdvIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuTimingAdvInd ARGS((Pst *pst, SuId suId, - TfuTimingAdvIndInfo *timingAdvInd)); - -/* CA dev Start */ -/** @brief This API is the TTI indication from CL to MAC and SCH - * @details This primitive provides the timing information (SFN and subframe) - * which is currently running on the physical layer. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param ttiInd Pointer to the TfuTtiCellInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuTtiCell ARGS((Pst *pst, SuId suId, - TfuTtiCellInfo *ttiInd)); -/* CA dev End */ - -/** @brief This API is the TTI indication from CL to MAC and SCH - * @details This primitive provides the timing information (SFN and subframe) - * which is currently running on the physical layer. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param ttiInd Pointer to the TfuTtiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuTtiInd ARGS((Pst *pst, SuId suId, - TfuTtiIndInfo *ttiInd)); - -/** @brief This API is the TTI indication from PHY to Scheduler. - * @details This primitive provides the timing information (SFN and subframe) - * which is currently running on the physical layer. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param ttiInd Pointer to the TfuTtiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuSchTtiInd ARGS((Pst *pst, SuId suId, - TfuTtiIndInfo *ttiInd)); - - -/** @brief This API is used to indicate the reception of CQI report from PHY to - * Scheduler and also carries the Rank Index information. - * @details This primitive carries the CQI (Channel Quality Index) report - * for the downlink channel, sent by the UE. It is also used to report RI and - * PMI. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param dlCqiInd Pointer to the TfuDlCqiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuDlCqiInd ARGS((Pst *pst, SuId suId, - TfuDlCqiIndInfo *dlCqiInd)); -/** @brief This API is used to indicate the calculated DOA value report from PHY to - * Scheduler. - * @details This primitive carries the DOA(Direction of arrival) report - * calculated at PHYSICAL LAYER, for an UE. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param doaInd Pointer to the TfuDoaIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuDoaInd ARGS((Pst *pst, SuId suId, - TfuDoaIndInfo *doaInd)); - - -/** @brief This primitive is used to convey PUCCH Delta Power calculated by the - * Physical layer. - * @details This primitive is used to convey PUCCH Delta Power calculated by the - * Physical layer. This information is utilized by the scheduler to perform - * power control for the UEs. - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param pucchDeltaPwr Pointer to the TfuPucchDeltaPwrIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuPucchDeltaPwrInd ARGS((Pst *pst, SuId suId, - TfuPucchDeltaPwrIndInfo *pucchDeltaPwr)); - -/** @brief LAA:This primitive carries the Error Indication from PHY to Scheduler. - * This primitive is invoked when the transmission on the unlicensed Scell - * fails. - * @param pst - * @param suId - * @param errInd pointer to TfuErrIndInfo - * @return - */ - -EXTERN S16 TfUiTfuErrInd ARGS((Pst *pst, SuId suId, - TfuErrIndInfo *errInd)); -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE - -/** @brief This primitive is used to convey the information derived by the - * physical layer from the SRS transmission from the UE. - * @details This primitive carries information derived from the SRS transmission - * from the UE. - * - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param srsInd Pointer to the TfuSrIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuSrsInd ARGS((Pst *pst, SuId suId, - TfuSrsIndInfo *srsInd)); - - -/** @brief This primitive is used to convey the Raw CQI information - * transmitted by the UE. - * @details Raw CQI report is the actual bits transmitted by the UE when - * reporting CQI/PMI/RI. The interpretation of these bits to CQI/sub-band CQI - * and so on, are done by MAC. - * - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param cqiInd Pointer to the TfuRawCqiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 TfUiTfuRawCqiInd ARGS((Pst *pst, SuId suId, - TfuRawCqiIndInfo *cqiInd)); - -#endif /* TFU_UPGRADE */ - -#ifdef RG -EXTERN S16 RgLiTfuBndReq ARGS(( - Pst* pst, - SuId suId, - SpId spId -)); -EXTERN S16 RgLiTfuBndCfm ARGS(( - Pst* pst, - SuId suId, - U8 status -)); -EXTERN S16 RgLiTfuUbndReq ARGS(( - Pst* pst, - SpId spId, - Reason reason -)); - -EXTERN S16 RgLiTfuSchBndReq ARGS(( - Pst* pst, - SuId suId, - SpId spId -)); -EXTERN S16 RgLiTfuSchBndCfm ARGS(( - Pst* pst, - SuId suId, - U8 status -)); -EXTERN S16 RgLiTfuSchUbndReq ARGS(( - Pst* pst, - SpId spId, - Reason reason -)); - -EXTERN S16 RgLiTfuRaReqInd ARGS(( - Pst * pst, - SpId spId, - TfuRaReqIndInfo * raReq -)); - - -EXTERN S16 RgLiTfuRecpReq ARGS(( - Pst * pst, - SpId spId, - TfuRecpReqInfo * recpReq -)); - -EXTERN S16 RgLiTfuUlCqiInd ARGS(( - Pst * pst, - SuId suId, - TfuUlCqiIndInfo * ulCqiInd -)); - -EXTERN S16 RgLiTfuDoaInd ARGS(( - Pst * pst, - SuId suId, - TfuDoaIndInfo * doaInd -)); - -EXTERN S16 RgLiTfuHqInd ARGS(( - Pst * pst, - SuId suId, - TfuHqIndInfo * hqInd -)); - -EXTERN S16 RgLiTfuSrInd ARGS(( - Pst * pst, - SuId suId, - TfuSrIndInfo * srInd -)); - -EXTERN S16 RgLiTfuDlCqiInd ARGS(( - Pst * pst, - SuId suId, - TfuDlCqiIndInfo * dlCqiInd -)); - -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE -EXTERN S16 RgLiTfuRawCqiInd ARGS(( - Pst *pst, - SuId suId, - TfuRawCqiIndInfo *rawCqiInd - )); -EXTERN S16 RgLiTfuSrsInd ARGS(( - Pst *pst, - SuId suId, - TfuSrsIndInfo *srsIndInfo - )); -#endif -EXTERN S16 RgLiTfuDatInd ARGS(( - Pst * pst, - SuId suId, - TfuDatIndInfo * datInd -)); - -EXTERN S16 fapiMacSlotInd -( -Pst *pst, -SlotIndInfo *slotInd -); - -EXTERN S16 RgLiTfuCrcInd ARGS(( - Pst * pst, - SuId suId, - TfuCrcIndInfo * crcInd -)); - -EXTERN S16 RgLiTfuTimingAdvInd ARGS(( - Pst * pst, - SuId suId, - TfuTimingAdvIndInfo * timingAdvInd -)); - -EXTERN S16 RgLiTfuDatReq ARGS(( - Pst * pst, - SpId spId, - TfuDatReqInfo * datReq -)); - -EXTERN S16 RgLiTfuCntrlReq ARGS(( - Pst * pst, - SpId spId, - TfuCntrlReqInfo * cntrlReq -)); - -EXTERN S16 RgLiTfuTtiInd ARGS(( - Pst * pst, - SuId suId, - TfuTtiIndInfo * ttiInd -)); - -EXTERN int macSchSlotInd ARGS(( - Pst * pst, - SlotIndInfo * slotInd -)); - -#if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD) -EXTERN S16 RgLiTfuNonRtInd ARGS(( - Pst * pst, - SuId suId -)); -#endif - -EXTERN S16 RgLiTfuPucchDeltaPwrInd ARGS(( - Pst * pst, - SuId suId, - TfuPucchDeltaPwrIndInfo *pucchDeltaPwr - )); -#endif - -/** @brief LAA:This primitive carries the Error Indication from PHY to Scheduler. - * This primitive is invoked when the transmission on the unlicensed Scell - * fails. - * @param pst - * @param suId - * @param errInd pointer to TfuErrIndInfo - * @return - */ -EXTERN S16 RgLiTfuErrInd ARGS((Pst *pst, SuId suId, TfuErrIndInfo *errInd)); - -#ifdef L2_OPTMZ -/** @brief This primitive carries the cellId and UeId for which datReq need to - * deleted in CL. - * @details This primitive is used to delete datReq PDUs present in CL for - * which got changed or similar other scenarios. These scenarios are possible - * only when L2_OPTMZ flag is enabled. - * @sa TfUiTfuDelDatReq - * @param pst - * @param spId - * @param datReq pointer to TfuDelDatReqInfo - * @return - */ -EXTERN S16 RgLiTfuDelDatReq ARGS((Pst *pst, SuId suId, TfuDelDatReqInfo *delDatReq)); -#endif - -#if (defined(LCTFU)) -/** @brief This API is used to send a Bind Request from MAC to PHY. - */ -#ifdef TFU_5GTF -EXTERN S16 cmPkTfuRbAssignA1Val324 ARGS(( -TfuRbAssignA1Val324 *param, -Buffer *mBuf -)); -EXTERN S16 cmPkTfuRbAssignB1Val324 ARGS(( -TfuRbAssignB1Val324 *param, -Buffer *mBuf -)); -EXTERN S16 cmPkTfuRbAssignVal326 ARGS(( -TfuRbAssignVal326 *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRbAssignA1Val324 ARGS(( -TfuRbAssignA1Val324 *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRbAssignB1Val324 ARGS(( -TfuRbAssignB1Val324 *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRbAssignVal326 ARGS(( -TfuRbAssignVal326 *param, -Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormatA1A2Info ARGS(( -TfuDciFormatA1Info *param, -Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormatB1B2Info ARGS(( -TfuDciFormatB1Info *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormatA1A2Info ARGS(( -TfuDciFormatA1Info *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormatB1B2Info ARGS(( -TfuDciFormatB1Info *param, -Buffer *mBuf -)); -#endif /* TFU_5GTF */ - -EXTERN S16 cmPkTfuBndReq ARGS(( - Pst* pst, - SuId suId, - SpId spId -)); -/** @brief This API is used to send a Bind Request from MAC to PHY. - */ -EXTERN S16 cmUnpkTfuBndReq ARGS(( - TfuBndReq func, - Pst* pst, - Buffer *mBuf -)); -/** @brief This API is used to receive a Bind Confirm from PHY to MAC. - */ -EXTERN S16 cmPkTfuBndCfm ARGS(( - Pst* pst, - SuId suId, - U8 status -)); -/** @brief This API is used to receive a Bind Confirm from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuBndCfm ARGS(( - TfuBndCfm func, - Pst* pst, - Buffer *mBuf -)); -/** @brief This API is used to send an Unbind Request from MAC to PHY. - */ -EXTERN S16 cmPkTfuUbndReq ARGS(( - Pst* pst, - SpId spId, - Reason reason -)); -/** @brief This API is used to send an Unbind Request from MAC to PHY. - */ -EXTERN S16 cmUnpkTfuUbndReq ARGS(( - TfuUbndReq func, - Pst* pst, - Buffer *mBuf -)); -/** @brief This API is used to send a Bind Request from SCH to PHY. - */ -EXTERN S16 cmPkTfuSchBndReq ARGS(( - Pst* pst, - SuId suId, - SpId spId -)); -/** @brief This API is used to send a Bind Request from SCH to PHY. - */ -EXTERN S16 cmUnpkTfuSchBndReq ARGS(( - TfuSchBndReq func, - Pst* pst, - Buffer *mBuf -)); -/** @brief This API is used to receive a Bind Confirm from PHY to SCH. - */ -EXTERN S16 cmPkTfuSchBndCfm ARGS(( - Pst* pst, - SuId suId, - U8 status -)); -/** @brief This API is used to receive a Bind Confirm from PHY to SCH. - */ -EXTERN S16 cmUnpkTfuSchBndCfm ARGS(( - TfuSchBndCfm func, - Pst* pst, - Buffer *mBuf -)); -/** @brief This API is used to send an Unbind Request from SCH to PHY. - */ -EXTERN S16 cmPkTfuSchUbndReq ARGS(( - Pst* pst, - SpId spId, - Reason reason -)); -/** @brief This API is used to send an Unbind Request from SCH to PHY. - */ -EXTERN S16 cmUnpkTfuSchUbndReq ARGS(( - TfuSchUbndReq func, - Pst* pst, - Buffer *mBuf -)); -/** @brief This API is used to indication Random Access Request reception from - * PHY to MAC. - */ -EXTERN S16 cmPkTfuRaReqInd ARGS(( - Pst * pst, - SuId suId, - TfuRaReqIndInfo * raReqInd -)); -/** @brief This API is used to indication Random Access Request reception from - * PHY to MAC. - */ -EXTERN S16 cmUnpkTfuRaReqInd ARGS(( - TfuRaReqInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indication Random Access Request reception from - * PHY to MAC. - */ -EXTERN S16 cmPkTfuRecpReq ARGS(( - Pst * pst, - SpId spId, - TfuRecpReqInfo * recpReq -)); -/** @brief This API is used to indication Random Access Request reception from - * PHY to MAC. - */ -EXTERN S16 cmUnpkTfuRecpReq ARGS(( - TfuRecpReq func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indicate CQI reporting from PHY to MAC. - */ -EXTERN S16 cmPkTfuUlCqiInd ARGS(( - Pst * pst, - SuId suId, - TfuUlCqiIndInfo * ulCqiInd -)); -/** @brief This API is used to indicate CQI reporting from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuUlCqiInd ARGS(( - TfuUlCqiInd func, - Pst * pst, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuHqInd ARGS(( - Pst * pst, - SuId suId, - TfuHqIndInfo * hqInd -)); - -EXTERN S16 cmUnpkTfuHqInd ARGS(( - TfuHqInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indicate a SR reception from PHY to MAC. - */ -EXTERN S16 cmPkTfuSrInd ARGS(( - Pst * pst, - SuId suId, - TfuSrIndInfo * srInd -)); -/** @brief This API is used to indicate a SR reception from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuSrInd ARGS(( - TfuSrInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indicate the reception of CQI report from PHY to - * MAC. - */ -EXTERN S16 cmPkTfuDlCqiInd ARGS(( - Pst * pst, - SuId suId, - TfuDlCqiIndInfo * dlCqiInd -)); -/** @brief This API is used to indicate the reception of CQI report from PHY to - * MAC. - */ -EXTERN S16 cmUnpkTfuDlCqiInd ARGS(( - TfuDlCqiInd func, - Pst * pst, - Buffer *mBuf -)); - -/** @brief This API is used to indicate the Calculated DOA value report from PHY to - * MAC.*/ -EXTERN S16 cmUnpkTfuDoaInd ARGS(( - TfuDoaInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indicate the calculated DOA Value report from PHY to - * MAC. - */ -EXTERN S16 cmPkTfuDoaInd ARGS(( - Pst * pst, - SuId suId, - TfuDoaIndInfo * doaInd - )); - -/** @brief This API is used to indicate Data Reception from PHY to MAC. - */ -EXTERN S16 cmPkTfuDatInd ARGS(( - Pst * pst, - SuId suId, - TfuDatIndInfo * datInd -)); -/** @brief This API is used to indicate Data Reception from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuDatInd ARGS(( - TfuDatInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indicate Decode failure from PHY to MAC. - */ -EXTERN S16 cmPkTfuCrcInd ARGS(( - Pst * pst, - SuId suId, - TfuCrcIndInfo * crcInd -)); -/** @brief This API is used to indicate Decode failure from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuCrcInd ARGS(( - TfuCrcInd func, - Pst * pst, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuCntrlReq ARGS(( - Pst * pst, - SpId spId, - TfuCntrlReqInfo * cntrlReq -)); - -EXTERN S16 cmUnpkTfuCntrlReq ARGS(( - TfuCntrlReq func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to indicate a Timing Advance from PHY to MAC. - */ -EXTERN S16 cmPkTfuTimingAdvInd ARGS(( - Pst * pst, - SuId suId, - TfuTimingAdvIndInfo * timingAdvInd -)); -/** @brief This API is used to indicate a Timing Advance from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuTimingAdvInd ARGS(( - TfuTimingAdvInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This API is used to send Data Request from MAC to PHY. - */ -EXTERN S16 cmPkTfuDatReq ARGS(( - Pst * pst, - SpId spId, - TfuDatReqInfo * datReq -)); -/** @brief This API is used to send Data Request from MAC to PHY. - */ -EXTERN S16 cmUnpkTfuDatReq ARGS(( - TfuDatReq func, - Pst * pst, - Buffer *mBuf -)); -/* CA dev Start */ -/** @brief This API is the TTI indication from CL to MAC and SCH. - */ -EXTERN S16 cmPkTfuTtiCell ARGS(( - Pst * pst, - SuId suId, - TfuTtiCellInfo * ttiInd -)); -/** @brief This API is the TTI indication from CL to MAC and SCH. - */ -EXTERN S16 cmUnpkTfuTtiCell ARGS(( - TfuTtiCell func, - Pst * pst, - Buffer *mBuf -)); -/* CA dev End */ - -/** @brief This API is the TTI indication from PHY to MAC. - */ -EXTERN S16 cmPkTfuTtiInd ARGS(( - Pst * pst, - SuId suId, - TfuTtiIndInfo * ttiInd -)); -/** @brief This API is the TTI indication from PHY to MAC. - */ -EXTERN S16 cmUnpackSlotInd ARGS(( - TfuTtiInd func, - Pst * pst, - Buffer *mBuf -)); - -typedef int (*MacSchSlotIndFunc) ARGS(( - Pst *pst, /* Post Structure */ - SlotIndInfo *slotInd /* slot ind Info */ -)); - -#if defined(TENB_T2K3K_SPECIFIC_CHANGES) && defined(LTE_TDD) -/** @brief This API is the non-rt indication from PHY to MAC. - */ -EXTERN S16 cmPkTfuNonRtInd ARGS(( - Pst * pst, - SuId suId -)); - -/** @brief This API is the non-rt indication from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuNonRtInd ARGS(( - TfuNonRtInd func, - Pst * pst, - Buffer *mBuf -)); -#endif - -/** @brief This API is the TTI indication from PHY to SCH. - */ -EXTERN S16 cmPkTfuSchTtiInd ARGS(( - Pst * pst, - SuId suId, - TfuTtiIndInfo * ttiInd -)); -/** @brief This API is the TTI indication from PHY to SCH. - */ -EXTERN S16 cmUnpackMacSchSlotInd ARGS(( - MacSchSlotIndFunc func, - Pst * pst, - Buffer *mBuf -)); - -/** @brief This API is used to convey the PUCCH delta power from PHY to SCH. - */ -EXTERN S16 cmPkTfuPucchDeltaPwrInd ARGS(( - Pst * pst, - SuId suId, - TfuPucchDeltaPwrIndInfo * pucchDeltaPwr -)); -/** @brief This API is used to indicate Decode failure from PHY to MAC. - */ -EXTERN S16 cmUnpkTfuPucchDeltaPwrInd ARGS(( - TfuPucchDeltaPwrInd func, - Pst * pst, - Buffer *mBuf -)); - - -#ifdef TFU_PHASE_2 -/** @brief This API is used to send Group Power Control Request from MAC to PHY. - */ -EXTERN S16 cmPkTfuGrpPwrCntrlReq ARGS(( - Pst * pst, - SpId spId, - TfuGrpPwrCntrlReqInfo * grpPwrCntrlReq -)); -/** @brief This API is used to send Group Power Control Request from MAC to PHY. - */ -EXTERN S16 cmUnpkTfuGrpPwrCntrlReq ARGS(( - TfuGrpPwrCntrlReq func, - Pst * pst, - Buffer *mBuf -)); -#endif -EXTERN S16 cmPkTfuDciFormat0Info ARGS(( - TfuDciFormat0Info *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat0Info ARGS(( - TfuDciFormat0Info *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuAllocMapOrRiv ARGS(( - TfuAllocMapOrRiv *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuAllocMapOrRiv ARGS(( - TfuAllocMapOrRiv *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1AllocInfo ARGS(( - TfuDciFormat1AllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1AllocInfo ARGS(( - TfuDciFormat1AllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1Info ARGS(( - TfuDciFormat1Info *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1Info ARGS(( - TfuDciFormat1Info *param, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuDciFormatTbInfo ARGS(( - TfuDciFormatTbInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormatTbInfo ARGS(( - TfuDciFormatTbInfo *param, - Buffer *mBuf -)); -/** @} */ -EXTERN S16 cmPkTfuDciFormat2AAllocInfo ARGS(( - TfuDciFormat2AAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat2AAllocInfo ARGS(( - TfuDciFormat2AAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat2AInfo ARGS(( - TfuDciFormat2AInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat2AInfo ARGS(( - TfuDciFormat2AInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat2AllocInfo ARGS(( - TfuDciFormat2AllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat2AllocInfo ARGS(( - TfuDciFormat2AllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat2Info ARGS(( - TfuDciFormat2Info *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat2Info ARGS(( - TfuDciFormat2Info *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat3Info ARGS(( - TfuDciFormat3Info *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat3Info ARGS(( - TfuDciFormat3Info *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat3AInfo ARGS(( - TfuDciFormat3AInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat3AInfo ARGS(( - TfuDciFormat3AInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1dAllocInfo ARGS(( - TfuDciFormat1dAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1dAllocInfo ARGS(( - TfuDciFormat1dAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1dInfo ARGS(( - TfuDciFormat1dInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1dInfo ARGS(( - TfuDciFormat1dInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1cInfo ARGS(( - TfuDciFormat1cInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1cInfo ARGS(( - TfuDciFormat1cInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1bAllocInfo ARGS(( - TfuDciFormat1bAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1bAllocInfo ARGS(( - TfuDciFormat1bAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuPdcchOrderInfo ARGS(( - TfuPdcchOrderInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPdcchOrderInfo ARGS(( - TfuPdcchOrderInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1aAllocInfo ARGS(( - TfuDciFormat1aAllocInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1aAllocInfo ARGS(( - TfuDciFormat1aAllocInfo *param, - Buffer *mBuf -)); -/*tfu_x_001.main_6 - Added for SPS support*/ -EXTERN S16 cmPkTfudciformat1aPdsch ARGS(( - Tfudciformat1aPdsch *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfudciformat1aPdsch ARGS(( - Tfudciformat1aPdsch *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1aInfo ARGS(( - TfuDciFormat1aInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1aInfo ARGS(( - TfuDciFormat1aInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciFormat1bInfo ARGS(( - TfuDciFormat1bInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciFormat1bInfo ARGS(( - TfuDciFormat1bInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDciInfo ARGS(( - TfuDciInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDciInfo ARGS(( - TfuDciInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSubbandInfo ARGS(( - TfuSubbandInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSubbandInfo ARGS(( - TfuSubbandInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSubbandDlCqiInfo ARGS(( - TfuSubbandDlCqiInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSubbandDlCqiInfo ARGS(( - TfuSubbandDlCqiInfo *param, - Buffer *mBuf -)); -/** @} */ -EXTERN S16 cmPkTfuSubbandCqiInfo ARGS(( - TfuSubbandCqiInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSubbandCqiInfo ARGS(( - TfuSubbandCqiInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuPdcchCceInfo ARGS(( - TfuPdcchCceInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPdcchCceInfo ARGS(( - TfuPdcchCceInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPucchMode10 ARGS(( - TfuCqiPucchMode10 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPucchMode10 ARGS(( - TfuCqiPucchMode10 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiMode11Cqi ARGS(( - TfuCqiMode11Cqi *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiMode11Cqi ARGS(( - TfuCqiMode11Cqi *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPucchMode11 ARGS(( - TfuCqiPucchMode11 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPucchMode11 ARGS(( - TfuCqiPucchMode11 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiMode20SubCqi ARGS(( - TfuCqiMode20SubCqi *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiMode20SubCqi ARGS(( - TfuCqiMode20SubCqi *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiMode20Cqi ARGS(( - TfuCqiMode20Cqi *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiMode20Cqi ARGS(( - TfuCqiMode20Cqi *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPucchMode20 ARGS(( - TfuCqiPucchMode20 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPucchMode20 ARGS(( - TfuCqiPucchMode20 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiMode21SubCqi ARGS(( - TfuCqiMode21SubCqi *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiMode21SubCqi ARGS(( - TfuCqiMode21SubCqi *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiMode21WideCqi ARGS(( - TfuCqiMode21WideCqi *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiMode21WideCqi ARGS(( - TfuCqiMode21WideCqi *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiMode21Cqi ARGS(( - TfuCqiMode21Cqi *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiMode21Cqi ARGS(( - TfuCqiMode21Cqi *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPucchMode21 ARGS(( - TfuCqiPucchMode21 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPucchMode21 ARGS(( - TfuCqiPucchMode21 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDlCqiPucch ARGS(( - TfuDlCqiPucch *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDlCqiPucch ARGS(( - TfuDlCqiPucch *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSubbandMode12 ARGS(( - TfuSubbandMode12 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSubbandMode12 ARGS(( - TfuSubbandMode12 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPuschMode12 ARGS(( - TfuCqiPuschMode12 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPuschMode12 ARGS(( - TfuCqiPuschMode12 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPuschMode20 ARGS(( - TfuCqiPuschMode20 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPuschMode20 ARGS(( - TfuCqiPuschMode20 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPuschMode22 ARGS(( - TfuCqiPuschMode22 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPuschMode22 ARGS(( - TfuCqiPuschMode22 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSubbandMode30 ARGS(( - TfuSubbandMode30 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSubbandMode30 ARGS(( - TfuSubbandMode30 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPuschMode30 ARGS(( - TfuCqiPuschMode30 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPuschMode30 ARGS(( - TfuCqiPuschMode30 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSubbandMode31 ARGS(( - TfuSubbandMode31 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSubbandMode31 ARGS(( - TfuSubbandMode31 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCqiPuschMode31 ARGS(( - TfuCqiPuschMode31 *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCqiPuschMode31 ARGS(( - TfuCqiPuschMode31 *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDlCqiPusch ARGS(( - TfuDlCqiPusch *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDlCqiPusch ARGS(( - TfuDlCqiPusch *param, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuDlCqiPuschInfo ARGS(( - TfuDlCqiPuschInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDlCqiPuschInfo ARGS(( - TfuDlCqiPuschInfo *param, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuDoaRpt ARGS(( - TfuDoaRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDoaRpt ARGS(( - TfuDoaRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDoaIndInfo ARGS(( - TfuDoaIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDoaIndInfo ARGS(( - TfuDoaIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuDlCqiInfo ARGS(( - U8 selector, - TfuDlCqiInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDlCqiInfo ARGS(( - U8 selector, - TfuDlCqiInfo *param, - Buffer *mBuf -)); - - -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -#ifndef TFU_UPGRADE -EXTERN S16 cmPkTfuUeMsg3RecpReq ARGS(( - TfuUeMsg3RecpReq *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUeMsg3RecpReq ARGS(( - TfuUeMsg3RecpReq *param, - Buffer *mBuf -)); -#endif - - -/*tfu_x_001.main_8 - ADD - Prototype for TfuUePuschRecpReq Pk/Unpk functions */ -EXTERN S16 cmPkTfuUePuschRecpReq ARGS(( - TfuUePuschRecpReq *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePuschRecpReq ARGS(( - TfuUePuschRecpReq *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUePucchRecpReq ARGS(( - TfuUePucchRecpReq *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePucchRecpReq ARGS(( - TfuUePucchRecpReq *param, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuRecpReqInfo ARGS(( - TfuRecpReqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRecpReqInfo ARGS(( - TfuRecpReqInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuPdcchInfo ARGS(( - TfuPdcchInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPdcchInfo ARGS(( - TfuPdcchInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuPhichInfo ARGS(( - TfuPhichInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPhichInfo ARGS(( - TfuPhichInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCntrlReqInfo ARGS(( - TfuCntrlReqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCntrlReqInfo ARGS(( - TfuCntrlReqInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuPdschDciInfo ARGS(( - TfuPdschDciInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPdschDciInfo ARGS(( - TfuPdschDciInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDatReqPduInfo ARGS(( - TfuDatReqPduInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDatReqPduInfo ARGS(( - TfuDatReqPduInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDatReqInfo ARGS(( - TfuDatReqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDatReqInfo ARGS(( - TfuDatReqInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDatInfo ARGS(( - TfuDatInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDatInfo ARGS(( - TfuDatInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDatIndInfo ARGS(( - TfuDatIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDatIndInfo ARGS(( - TfuDatIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSrInfo ARGS(( - TfuSrInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSrInfo ARGS(( - TfuSrInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSrIndInfo ARGS(( - TfuSrIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSrIndInfo ARGS(( - TfuSrIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuHqInfo ARGS(( - TfuHqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuHqInfo ARGS(( - TfuHqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuHqIndInfo ARGS(( - TfuHqIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuHqIndInfo ARGS(( - TfuHqIndInfo *param, - Ptr memCpm, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUlCqiInfo ARGS(( - TfuUlCqiInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUlCqiInfo ARGS(( - TfuUlCqiInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUlCqiRpt ARGS(( - TfuUlCqiRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUlCqiRpt ARGS(( - TfuUlCqiRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUlCqiIndInfo ARGS(( - TfuUlCqiIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUlCqiIndInfo ARGS(( - TfuUlCqiIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDlCqiRpt ARGS(( - TfuDlCqiRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDlCqiRpt ARGS(( - TfuDlCqiRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuDlCqiIndInfo ARGS(( - TfuDlCqiIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuDlCqiIndInfo ARGS(( - TfuDlCqiIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuPucchDeltaPwr ARGS(( - Pst * pst, - SuId suId, - TfuPucchDeltaPwrIndInfo * pucchDeltaPwr)); - -EXTERN S16 cmPkTfuPucchDeltaPwrInfo ARGS(( - TfuPucchDeltaPwr *param, - Buffer *mBuf -)); - -EXTERN S16 cmUnpkTfuPucchDeltaPwr ARGS(( - TfuPucchDeltaPwrInd func, - Pst * pst, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPucchDeltaPwrInfo ARGS(( - TfuPucchDeltaPwr *param, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuCrcInfo ARGS(( - TfuCrcInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCrcInfo ARGS(( - TfuCrcInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuCrcIndInfo ARGS(( - TfuCrcIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuCrcIndInfo ARGS(( - TfuCrcIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuPucchDeltaPwrIndInfo ARGS(( - TfuPucchDeltaPwrIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuPucchDeltaPwrIndInfo ARGS(( - TfuPucchDeltaPwrIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuTimingAdvInfo ARGS(( - TfuTimingAdvInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuTimingAdvInfo ARGS(( - TfuTimingAdvInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuTimingAdvIndInfo ARGS(( - TfuTimingAdvIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuTimingAdvIndInfo ARGS(( - TfuTimingAdvIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -/* CA dev Start */ -EXTERN S16 cmPkTfuTtiCellInfo ARGS(( - TfuTtiCellInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuTtiCellInfo ARGS(( - TfuTtiCellInfo *param, - Buffer *mBuf -)); -/* CA dev End */ -EXTERN S16 cmPkTfuTtiIndInfo ARGS(( - TfuTtiIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpackSlotIndInfo ARGS(( - SlotIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuRaReqInfo ARGS(( - TfuRaReqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRaReqInfo ARGS(( - TfuRaReqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuRachInfo ARGS(( - CmMemListCp memCp, - TfuRachInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRachInfo ARGS(( - CmMemListCp memCp, - TfuRachInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuRaReqIndInfo ARGS(( - TfuRaReqIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRaReqIndInfo ARGS(( - TfuRaReqIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkBuffer ARGS(( - Buffer **param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkBuffer ARGS(( - Buffer **param, - Buffer *mBuf -)); - -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE -EXTERN S16 cmPkTfuSrsRpt ARGS(( - TfuSrsRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSrsRpt ARGS(( - TfuSrsRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuSrsIndInfo ARGS(( - TfuSrsIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuSrsIndInfo ARGS(( - TfuSrsIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuRawCqiRpt ARGS(( - TfuRawCqiRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRawCqiRpt ARGS(( - TfuRawCqiRpt *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuRawCqiIndInfo ARGS(( - TfuRawCqiIndInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuRawCqiIndInfo ARGS(( - TfuRawCqiIndInfo *param, - Ptr memCp, - Buffer *mBuf -)); - -#ifdef TFU_TDD - -EXTERN S16 cmPkTfuUePucchHqRecpInfo ARGS(( - TfuUePucchHqRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePucchHqRecpInfo ARGS(( - TfuUePucchHqRecpInfo *param, - Buffer *mBuf -)); - -#endif - -#ifndef TFU_TDD /* else of TFU_TDD */ - -EXTERN S16 cmPkTfuUePucchHqRecpInfo ARGS(( - TfuUePucchHqRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePucchHqRecpInfo ARGS(( - TfuUePucchHqRecpInfo *param, - Buffer *mBuf -)); - - -#endif -EXTERN S16 cmPkTfuUePucchSrRecpInfo ARGS(( - TfuUePucchSrRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePucchSrRecpInfo ARGS(( - TfuUePucchSrRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUePucchCqiRecpInfo ARGS(( - TfuUePucchCqiRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePucchCqiRecpInfo ARGS(( - TfuUePucchCqiRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUePucchSrsRecpInfo ARGS(( - TfuUePucchSrsRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePucchSrsRecpInfo ARGS(( - TfuUePucchSrsRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUeUlSchRecpInfo ARGS(( - TfuUeUlSchRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUeUlSchRecpInfo ARGS(( - TfuUeUlSchRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUePuschCqiRecpInfo ARGS(( - TfuUePuschCqiRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePuschCqiRecpInfo ARGS(( - TfuUePuschCqiRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmPkTfuUePuschHqRecpInfo ARGS(( - TfuUePuschHqRecpInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUePuschHqRecpInfo ARGS(( - TfuUePuschHqRecpInfo *param, - Buffer *mBuf -)); - -EXTERN S16 cmPkTfuBfVectorInfo ARGS (( -TfuBfVectorInfo *param, -Buffer *mBuf -)); - -EXTERN S16 cmUnpkTfuBfVectorInfo ARGS (( - TfuBfVectorInfo *param, - Buffer *mBuf -)); -#endif /* TFU_UPGRADE */ -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -EXTERN S16 cmPkTfuUeRecpReqInfo ARGS(( - TfuUeRecpReqInfo *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuUeRecpReqInfo ARGS(( - TfuUeRecpReqInfo *param, - Buffer *mBuf -)); - -/* tfu_x_001.main_8. Added changes of TFU_UPGRADE */ -#ifdef TFU_UPGRADE -/** @brief This primitive is used to convey the Raw CQI information - * transmitted by the UE. - * @details Raw CQI report is the actual bits transmitted by the UE when - * reporting CQI/PMI/RI. The interpretation of these bits to CQI/sub-band CQI - * and so on, are done by MAC. - * - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param cqiInd Pointer to the TfuRawCqiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 cmPkTfuRawCqiInd ARGS(( - Pst * pst, - SuId suId, - TfuRawCqiIndInfo * rawCqiInd -)); -/** @brief This primitive is used to convey the Raw CQI information - * transmitted by the UE. - * @details Raw CQI report is the actual bits transmitted by the UE when - * reporting CQI/PMI/RI. The interpretation of these bits to CQI/sub-band CQI - * an so on, are done by MAC. - * - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param cqiInd Pointer to the TfuRawCqiIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 cmUnpkTfuRawCqiInd ARGS(( - TfuRawCqiInd func, - Pst * pst, - Buffer *mBuf -)); -/** @brief This primitive is used to convey the information derived by the - * physical layer from the SRS transmission from the UE. - * @details This primitive carries information derived from the SRS transmission - * from the UE. - * - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param srsInd Pointer to the TfuSrIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 cmPkTfuSrsInd ARGS(( - Pst * pst, - SuId suId, - TfuSrsIndInfo * srsInd -)); -/** @brief This primitive is used to convey the information derived by the - * physical layer from the SRS transmission from the UE. - * @details This primitive carries information derived from the SRS transmission - * from the UE. - * - * @param pst Pointer to the post structure. - * @param suId SAP ID of the service user. - * @param srsInd Pointer to the TfuSrIndInfo structure. - * @return ROK/RFAILED - */ -EXTERN S16 cmUnpkTfuSrsInd ARGS(( - TfuSrsInd func, - Pst * pst, - Buffer *mBuf -)); -#endif - -/*tfu_x_001.main_6 - Added for SPS support*/ -#ifdef LTEMAC_SPS -EXTERN S16 cmPkTfuAllocMap ARGS(( - TfuAllocMap *param, - Buffer *mBuf -)); -EXTERN S16 cmUnpkTfuAllocMap ARGS(( - TfuAllocMap *param, - Buffer *mBuf - )); -#ifdef EMTC_ENABLE -EXTERN S16 cmPkTfuDciFormat6AAllocInfo ARGS(( - TfuDciFormat61AllocInfo *param, - Buffer *mBuf - )); -EXTERN S16 cmUnpkTfuDciFormat6AAllocInfo ARGS(( - TfuDciFormat61AllocInfo *param, - Buffer *mBuf - )); -EXTERN S16 cmUnpkTfuDciFormat61aInfo ARGS(( - TfuDciFormat61aInfo *param, - Buffer *mBuf - )); -EXTERN S16 cmUnpkTfuDciFormat62Info ARGS(( - TfuDciFormat62Info *param, - Buffer *mBuf - )); - -EXTERN S16 cmUnpkTfudciformat61aPdsch ARGS(( - Tfudciformat61aPdsch *param, - Buffer *mBuf - )); -EXTERN S16 cmPkTfuDciFormat61aInfo ARGS(( - TfuDciFormat61aInfo *param, - Buffer *mBuf - )); - -#endif - -#endif - -/* LTE_UNLICENSED */ -EXTERN S16 cmPkTfuErrInd ARGS(( - Pst * pst, - SuId suId, - TfuErrIndInfo * errInd -)); - -EXTERN S16 cmUnpkTfuErrInd ARGS(( - TfuErrInd func, - Pst * pst, - Buffer *mBuf -)); -#endif /*LCTFU*/ - - #ifdef __cplusplus } #endif