* This API carries a transId to uniquely identify the confirm received for
* this request from LTEMAC.
* */
-EXTERN S16 RgSchMacL2MeasReq ARGS((
+S16 RgSchMacL2MeasReq ARGS((
Pst* pst,
RgInfL2MeasReq* l2MeasReq
));
* it sends L2 measurement to layer manager.
* */
-EXTERN S16 RgSchMacL2MeasSendReq ARGS((
+S16 RgSchMacL2MeasSendReq ARGS((
Pst* pst,
RgInfL2MeasSndReq* l2MeasReq
));
* When Scheduler receives a measurement stop request from stack manager,
* it stops L2 Measurement
*/
-EXTERN S16 RgSchMacL2MeasStopReq ARGS((
+S16 RgSchMacL2MeasStopReq ARGS((
Pst* pst,
RgInfL2MeasStopReq* l2MeasReq
));
* period, It invokes this API to indicate result back to scheduler. LTE
* MAC sends the same transId received in measurement request from Scheduler.
* */
-EXTERN S16 RgMacSchL2MeasCfm ARGS((
+S16 RgMacSchL2MeasCfm ARGS((
Pst* pst,
RgInfL2MeasCfm* l2MeasCfm
));
* stops L2 measurement, it sends L2 measurement cfm.
* */
-EXTERN S16 RgMacSchL2MeasStopCfm ARGS((
+S16 RgMacSchL2MeasStopCfm ARGS((
Pst* pst,
RgInfL2MeasCfm* l2MeasCfm
));
-EXTERN S16 RgMacSchL2MeasStop ARGS
+S16 RgMacSchL2MeasStop ARGS
((
Pst* pst,
RgInfL2MeasCfm *measInfo
));
#endif /* LTE_L2_MEAS */
-typedef struct rgInfLcgRegReq
-{
- CmLteCellId cellId; /*!< Cell Identifier */
- CmLteRnti crnti; /*!< RNTI which uniquely identifies the UE
- RNTI range is specified in Section
- 7.1 in 25.321 Specification. */
- uint8_t lcgId;
- Bool isGbr; /* Indicate if the LCG is Gbr */
-} RgInfLcgRegReq;
-
/* Added support for SPS*/
#ifdef LTEMAC_SPS
uint16_t spsPrd; /*!< SPS periodicity of the UE */
} RgInfSpsLcInfo;
-/**
- * @brief This structure contains UL SPS param Reset related to
- * uplink SPS for a particular UE identified by the CRNTI.
- */
-typedef struct rgInfUlSpsReset
-{
- CmLteCellId cellId; /*!< Cell Identifier */
- CmLteRnti crnti; /*!< RNTI which uniquely identifies the UE
- RNTI range is specified in Section
- 7.1 in 25.321 Specification. */
-} RgInfUlSpsReset;
-
-
/**
* @brief This structure contains the information to release UL SPS for a UE */
typedef struct rgInfSpsRelInfo
* @brief Request from Scheduler to MAC to register a cell.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkSchMacCellRegReq ARGS((
+S16 cmPkSchMacCellRegReq ARGS((
Pst* pst,
RgInfCellReg* regReq
));
* creates a mapping of the cell which is uniquely idetified by cell ID and
* scheduler instance that is serving the cell.
*/
-EXTERN S16 RgSchMacCellRegReq ARGS((
+S16 RgSchMacCellRegReq ARGS((
Pst* pst,
RgInfCellReg* regReq
));
* @brief Request from Scheduler to MAC to register a cell.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkSchMacCellRegReq ARGS((
+S16 cmUnpkSchMacCellRegReq ARGS((
CellRegReq func,
Pst* pst,
Buffer *mBuf
* @brief Request from MAC to scheduler to update dedicated BO.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkMacSchDedBoUpdtReq ARGS((
+S16 cmPkMacSchDedBoUpdtReq ARGS((
Pst* pst,
RgInfDedBoRpt* boRpt
));
* takes the buffer occupancy information into consideration while taking
* scheduling decisons.
*/
-EXTERN S16 RgMacSchDedBoUpdtReq ARGS((
+S16 RgMacSchDedBoUpdtReq ARGS((
Pst* pst,
RgInfDedBoRpt* boRpt
));
* @brief Request from MAC to scheduler to update dedicated BO.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkMacSchDedBoUpdtReq ARGS((
+S16 cmUnpkMacSchDedBoUpdtReq ARGS((
DedBoUpdtReq func,
Pst* pst,
Buffer *mBuf
* @brief Request from MAC to scheduler to update common channel BO.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkMacSchCmnBoUpdtReq ARGS((
+S16 cmPkMacSchCmnBoUpdtReq ARGS((
Pst* pst,
RgInfCmnBoRpt* boRpt
));
* takes the buffer occupancy information into consideration while taking
* scheduling decisons.
*/
-EXTERN S16 RgMacSchCmnBoUpdtReq ARGS((
+S16 RgMacSchCmnBoUpdtReq ARGS((
Pst* pst,
RgInfCmnBoRpt* boRpt
));
* @brief Request from MAC to scheduler to update common channel BO.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkMacSchCmnBoUpdtReq ARGS((
+S16 cmUnpkMacSchCmnBoUpdtReq ARGS((
CmnBoUpdtReq func,
Pst* pst,
Buffer *mBuf
* @brief UE delete indication from MAC to scheduler.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkMacSchUeDelInd ARGS((
+S16 cmPkMacSchUeDelInd ARGS((
Pst* pst,
RgInfUeDelInd* ueDelInd
));
* receives UE delete Request. As the UE is now deleted at MAC, it should
* not be scheduled.
*/
-EXTERN S16 RgMacSchUeDelInd ARGS((
+S16 RgMacSchUeDelInd ARGS((
Pst* pst,
RgInfUeDelInd* ueDelInd
));
* @brief UE delete Indication Request from MAC to scheduler.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkMacSchUeDelInd ARGS((
+S16 cmUnpkMacSchUeDelInd ARGS((
UeDelInd func,
Pst* pst,
Buffer *mBuf
* @brief Data Indication Request from MAC to scheduler.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkMacSchSfRecpInd ARGS((
+S16 cmPkMacSchSfRecpInd ARGS((
Pst* pst,
RgInfSfDatInd* datInd
));
* takes these control elements into consideration while taking scheduling
* decisons for the uplink.
*/
-EXTERN S16 RgMacSchSfRecpInd ARGS((
+S16 RgMacSchSfRecpInd ARGS((
Pst* pst,
RgInfSfDatInd* datInd
));
* @brief Data Indication Request from MAC to scheduler.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkMacSchSfRecpInd ARGS((
+S16 cmUnpkMacSchSfRecpInd ARGS((
SfRecpInd func,
Pst* pst,
Buffer *mBuf
* @brief Resource Allocation Request from Scheduler to MAC.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkSchMacSfAllocReq ARGS((
+S16 cmPkSchMacSfAllocReq ARGS((
Pst* pst,
RgInfSfAlloc* resAllocReq
));
* inform the scheduling decisions taken for uplink grants, common channels
* and list of UEs to be scheduling during this TTI.
*/
-EXTERN S16 RgSchMacSfAllocReq ARGS((
+S16 RgSchMacSfAllocReq ARGS((
Pst* pst,
RgInfSfAlloc* resAllocReq
));
* @brief Resource Allocation Request from Scheduler to MAC.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkSchMacSfAllocReq ARGS((
+S16 cmUnpkSchMacSfAllocReq ARGS((
SfAllocReq func,
Pst* pst,
Buffer *mBuf
* @brief Request from Scheduler to release HARQ processes at MAC.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkSchMacRlsHqReq ARGS((
+S16 cmPkSchMacRlsHqReq ARGS((
Pst* pst,
RgInfRlsHqInfo* sfHqInfo
));
* primitive when a positive acknowledgement is received for the TB transmitted
* or a TB is retransmitted for the allowed maximum number of retransmissions.
*/
-EXTERN S16 RgSchMacRlsHqReq ARGS((
+S16 RgSchMacRlsHqReq ARGS((
Pst* pst,
RgInfRlsHqInfo* sfHqInfo
));
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkSchMacRlsHqReq ARGS((
+S16 cmUnpkSchMacRlsHqReq ARGS((
RlsHqReq func,
Pst* pst,
Buffer *mBuf
* @brief Request from Scheduler to reset HARQ Entity at MAC.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkSchMacRstHqEntReq ARGS((
+S16 cmPkSchMacRstHqEntReq ARGS((
Pst* pst,
RgInfResetHqEnt* hqEntInfo
));
* @brief Request from Scheduler to reset HARQ entity at MAC for a scell of an ue.
* This is triggered upon deactivation of a scell
*/
-EXTERN S16 RgSchMacRstHqEntReq ARGS((
+S16 RgSchMacRstHqEntReq ARGS((
Pst* pst,
RgInfResetHqEnt* hqEntInfo
));
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkSchMacRstHqEntReq ARGS((
+S16 cmUnpkSchMacRstHqEntReq ARGS((
RstHqEntReq func,
Pst* pst,
Buffer *mBuf
* @brief Request from Scheduler to release RNTI at MAC.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkSchMacRlsRntiReq ARGS((
+S16 cmPkSchMacRlsRntiReq ARGS((
Pst* pst,
RgInfRlsRnti* rlsRnti
));
* @details The Scheduler calls this primitive to send the list of RNTIs for
* which the RRC Connection is being rejected.
*/
-EXTERN S16 RgSchMacRlsRntiReq ARGS((
+S16 RgSchMacRlsRntiReq ARGS((
Pst* pst,
RgInfRlsRnti* rlsRnt
));
* @brief Request from Scheduler to release RNTI at MAC.
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmUnpkSchMacRlsRntiReq ARGS((
+S16 cmUnpkSchMacRlsRntiReq ARGS((
RlsRntiReq func,
Pst* pst,
Buffer *mBuf
));
/* Added support for SPS*/
-typedef S16 (*LcgReg) ARGS((
- Pst* pst,
- RgInfLcgRegReq *lcgRegReq
-));
-
-EXTERN S16 cmPkSchMacLcgRegReq ARGS((
- Pst* pst,
- RgInfLcgRegReq *lcgRegReq
-));
-
-EXTERN S16 RgSchMacLcgRegReq ARGS((Pst *pst, RgInfLcgRegReq *lcgRegReq));
-
-EXTERN S16 cmUnpkSchMacLcgRegReq ARGS((
- LcgReg func,
- Pst *pst,
- Buffer *mBuf
-));
-
-EXTERN S16 RgSchMacLcgReg ARGS((Pst* pst, RgInfLcgRegReq *lcgRegReq));
-
#ifdef LTEMAC_SPS
-/**
- * @brief Primitive from Scheduler to MAC to register the logical channels of
- * a SPS UE
- * @details This primitive is used for light-weight loose coupling.
- */
-EXTERN S16 cmPkSchMacSpsLcRegReq ARGS((
- Pst* pst,
- RgInfSpsLcInfo *lcInfo
-));
-
-typedef S16 (*SpsLcReg) ARGS((
- Pst* pst,
- RgInfSpsLcInfo *lcInfo
-));
-
-/**
- * @brief Request from Scheduler to register the SPS related logical channels.
- * @details Scheduler calls this primitive to send the list of logical channels
- * that belong to the SPS logical channel group.
- */
-EXTERN S16 RgSchMacSpsLcRegReq ARGS((Pst *pst, RgInfSpsLcInfo *lcInfo));
-
-EXTERN S16 cmUnpkSchMacSpsLcRegReq ARGS((
- SpsLcReg func,
- Pst *pst,
- Buffer *mBuf
-));
-
-
-/**
- * @brief Primitive from Scheduler to MAC to Reset UL SPS related Params
- * @details This primitive is used for light-weight loose coupling.
- */
-EXTERN S16 cmPkSchMacUlSpsResetReq ARGS((
- Pst* pst,
- RgInfUlSpsReset *ulSpsResetInfo
-));
-
-typedef S16 (*UlSpsReset) ARGS((
- Pst* pst,
- RgInfUlSpsReset *ulSpsResetInfo
-));
-
-/**
- * @brief Request from Scheduler to reset UL SPS Params
- * @details Scheduler calls this primitive to reset implicit and explicit
- * release counters for the UE
- */
-EXTERN S16 RgSchMacUlSpsResetReq ARGS((Pst *pst, RgInfUlSpsReset *ulSpsResetInfo));
-
-EXTERN S16 cmUnpkSchMacUlSpsResetReq ARGS((
- UlSpsReset func,
- Pst *pst,
- Buffer *mBuf
-));
-
-
-
-/**
- * @brief Primitive from Scheduler to MAC to deregister the logical channels of
- * a SPS UE
- * @details This primitive is used for light-weight loose coupling.
- */
-EXTERN S16 cmPkSchMacSpsLcDeregReq ARGS((
- Pst* pst,
- CmLteCellId cellId,
- CmLteRnti crnti
-));
-
-typedef S16 (*SpsLcDereg) ARGS((
- Pst* pst,
- CmLteCellId cellId,
- CmLteRnti crnti
-));
-
-/**
- * @brief Request from Scheduler to deregister the SPS related logical channels.
- * @details Scheduler calls this primitive to send the deregistration request
- * for a UE once SPS is released for it
- */
-EXTERN S16 RgSchMacSpsLcDeregReq ARGS((Pst *pst, CmLteCellId cellId, CmLteRnti
- crnti));
-
-EXTERN S16 cmUnpkSchMacSpsLcDeregReq ARGS((
- SpsLcDereg func,
- Pst* pst,
- Buffer *mBuf
-));
-
/**
* @brief Primitive from MAC to Scheduler to indicate release of UL SPS for a UE
* @details This primitive is used for light-weight loose coupling.
*/
-EXTERN S16 cmPkMacSchSpsRelInd ARGS((
+S16 cmPkMacSchSpsRelInd ARGS((
Pst* pst,
RgInfSpsRelInfo* relInfo
));
* @details MAC calls this primitive to inform the scheduler that UL SPS needs
* to be released for a UE
*/
-EXTERN S16 RgMacSchSpsRelInd ARGS((Pst *pst, RgInfSpsRelInfo *relInfo));
+S16 RgMacSchSpsRelInd ARGS((Pst *pst, RgInfSpsRelInfo *relInfo));
-EXTERN S16 cmUnpkMacSchSpsRelInd ARGS((
+S16 cmUnpkMacSchSpsRelInd ARGS((
SpsRelInd func,
Pst* pst,
Buffer *mBuf
#endif
#ifdef LTE_L2_MEAS
-EXTERN S16 cmPkMacSchL2MeasCfm ARGS((
+S16 cmPkMacSchL2MeasCfm ARGS((
Pst* pst,
RgInfL2MeasCfm *measCfm
));
-EXTERN S16 cmPkMacSchL2MeasStopCfm ARGS((
+S16 cmPkMacSchL2MeasStopCfm ARGS((
Pst* pst,
RgInfL2MeasCfm *measCfm
));
-EXTERN S16 cmPkSchMacL2MeasReq ARGS((
+S16 cmPkSchMacL2MeasReq ARGS((
Pst* pst,
RgInfL2MeasReq *measInfo
));
-EXTERN S16 cmPkSchMacL2MeasStopReq ARGS((
+S16 cmPkSchMacL2MeasStopReq ARGS((
Pst* pst,
RgInfL2MeasStopReq *measInfo
));
-EXTERN S16 cmPkSchMacL2MeasSendReq ARGS((
+S16 cmPkSchMacL2MeasSendReq ARGS((
Pst* pst,
RgInfL2MeasSndReq *measInfo
));
Pst *pst,
RgInfL2MeasCfm *measCfm
));
-EXTERN S16 cmUnpkMacSchL2MeasCfm ARGS
+S16 cmUnpkMacSchL2MeasCfm ARGS
((
L2MeasCfm func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkSchMacL2MeasReq ARGS((
+S16 cmUnpkSchMacL2MeasReq ARGS((
L2MeasReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkSchMacL2MeasSendReq ARGS((
+S16 cmUnpkSchMacL2MeasSendReq ARGS((
L2MeasSendReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkSchMacL2MeasStopReq ARGS((
+S16 cmUnpkSchMacL2MeasStopReq ARGS((
L2MeasStopReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkMacSchL2MeasStopCfm ARGS((
+S16 cmUnpkMacSchL2MeasStopCfm ARGS((
L2MeasCfm func,
Pst *pst,
Buffer *mBuf
));
#endif
-EXTERN S16 RgSchMacRlsRnti ARGS((Pst* pst, RgInfRlsRnti* rlsRnti));
-EXTERN S16 RgSchMacRlsHq ARGS((Pst* pst, RgInfRlsHqInfo* sfHqInfo));
-EXTERN S16 RgSchMacSfAlloc ARGS((Pst* pst, RgInfSfAlloc* resAllocReq));
-EXTERN S16 RgSchMacRstHqEnt ARGS((Pst* pst, RgInfResetHqEnt* hqEntInfo));
-EXTERN S16 RgMacSchSfRecp ARGS((Pst* pst, RgInfSfDatInd* datInd));
-EXTERN S16 RgMacSchCmnBoUpdt ARGS(( Pst* pst, RgInfCmnBoRpt* boRpt));
-EXTERN S16 RgMacSchDedBoUpdt ARGS(( Pst* pst, RgInfDedBoRpt* boRpt));
-EXTERN S16 RgSchMacCellReg ARGS((Pst* pst,RgInfCellReg* regReq));
+S16 RgSchMacRlsRnti ARGS((Pst* pst, RgInfRlsRnti* rlsRnti));
+S16 RgSchMacRlsHq ARGS((Pst* pst, RgInfRlsHqInfo* sfHqInfo));
+S16 RgSchMacSfAlloc ARGS((Pst* pst, RgInfSfAlloc* resAllocReq));
+S16 RgSchMacRstHqEnt ARGS((Pst* pst, RgInfResetHqEnt* hqEntInfo));
+S16 RgMacSchSfRecp ARGS((Pst* pst, RgInfSfDatInd* datInd));
+S16 RgMacSchCmnBoUpdt ARGS(( Pst* pst, RgInfCmnBoRpt* boRpt));
+S16 RgMacSchDedBoUpdt ARGS(( Pst* pst, RgInfDedBoRpt* boRpt));
+S16 RgSchMacCellReg ARGS((Pst* pst,RgInfCellReg* regReq));
#ifdef LTE_L2_MEAS
-EXTERN S16 RgSchMacL2Meas ARGS((Pst* pst, RgInfL2MeasReq* l2MeasReq));
-EXTERN S16 RgMacSchL2Meas ARGS((Pst* pst, RgInfL2MeasCfm* l2MeasCfm));
-EXTERN S16 RgSchMacL2MeasStop ARGS((Pst* pst, RgInfL2MeasStopReq *measInfo));
-EXTERN S16 RgSchMacL2MeasSend ARGS((Pst* pst, RgInfL2MeasSndReq *measInfo));
+S16 RgSchMacL2Meas ARGS((Pst* pst, RgInfL2MeasReq* l2MeasReq));
+S16 RgMacSchL2Meas ARGS((Pst* pst, RgInfL2MeasCfm* l2MeasCfm));
+S16 RgSchMacL2MeasStop ARGS((Pst* pst, RgInfL2MeasStopReq *measInfo));
+S16 RgSchMacL2MeasSend ARGS((Pst* pst, RgInfL2MeasSndReq *measInfo));
#endif /* LTE_L2_MEAS */
/* Added support for SPS*/
#ifdef LTEMAC_SPS
-EXTERN S16 RgSchMacSpsLcReg ARGS((Pst *pst, RgInfSpsLcInfo *lcInfo));
-EXTERN S16 RgSchMacUlSpsReset ARGS((Pst *pst, RgInfUlSpsReset *lcInfo));
-EXTERN S16 RgSchMacSpsLcDereg ARGS((Pst *pst, CmLteCellId cellId, CmLteRnti
+S16 RgSchMacSpsLcReg ARGS((Pst *pst, RgInfSpsLcInfo *lcInfo));
+S16 RgSchMacSpsLcDereg ARGS((Pst *pst, CmLteCellId cellId, CmLteRnti
crnti));
-EXTERN S16 RgMacSchSpsRel ARGS((Pst *pst, RgInfSpsRelInfo* relInfo));
+S16 RgMacSchSpsRel ARGS((Pst *pst, RgInfSpsRelInfo* relInfo));
#endif
-EXTERN S16 RgMacSchUeDel ARGS((Pst* pst, RgInfUeDelInd* ueDelInd));
+S16 RgMacSchUeDel ARGS((Pst* pst, RgInfUeDelInd* ueDelInd));
#ifdef __cplusplus
}
#endif