VOS_VOID RRM_SndPSStatusInd(VOS_UINT32 ulReceiverPid) { VOS_UINT32 ulLength; RRM_PS_STATUS_IND_STRU *pstPSStatusInd = VOS_NULL_PTR; if (RRM_PID_DEFAULT_VALUE == ulReceiverPid) { RRM_ERROR_LOG(UEPS_PID_RRM, "ulReceiverPid is error!"); return; } ulLength = sizeof(RRM_PS_STATUS_IND_STRU) - VOS_MSG_HEAD_LENGTH; /* 分配消息空间 */ pstPSStatusInd = (RRM_PS_STATUS_IND_STRU *)PS_ALLOC_MSG(UEPS_PID_RRM, ulLength); if (VOS_NULL_PTR == pstPSStatusInd) { RRM_ERROR_LOG(UEPS_PID_RRM, "Alloc msg fail!"); return; } /* 清消息空间 */ PS_MEM_SET((VOS_UINT8*)pstPSStatusInd + VOS_MSG_HEAD_LENGTH, 0, ulLength); /* 填充消息 */ pstPSStatusInd->stMsgHeader.ulReceiverPid = ulReceiverPid; pstPSStatusInd->stMsgHeader.ulSenderPid = UEPS_PID_RRM; pstPSStatusInd->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstPSStatusInd->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstPSStatusInd->stMsgHeader.ulMsgName = ID_RRM_PS_STATUS_IND; pstPSStatusInd->stMsgHeader.ulLength = sizeof(RRM_PS_RADIO_RESOURCE_APPLY_CNF_STRU) - VOS_MSG_HEAD_LENGTH; RRM_DBG_SND_STATUS_IND_NUM(1); /* 发送消息 */ if (VOS_OK != PS_SEND_MSG(UEPS_PID_RRM, pstPSStatusInd)) { RRM_ERROR_LOG(UEPS_PID_RRM, "Snd Msg err."); return; } return; }
VOS_UINT32 RRM_FidInit(enum VOS_INIT_PHASE_DEFINE enPhase) { VOS_UINT32 ulResult = VOS_ERR; switch (enPhase) { case VOS_IP_LOAD_CONFIG: /* 创建可维可测信号量 */ ulResult = RRM_MNTN_CreateMutexSem(UEPS_PID_RRM); if (VOS_OK != ulResult) { RRM_ERROR_LOG(UEPS_PID_RRM, "RRM_FidInit, VOS_RegisterPIDInfo Fail."); return VOS_ERR; } /* LOG 初始化 */ RRM_INIT_LOG_ENT(); /* 注册PID */ ulResult = VOS_RegisterPIDInfo(UEPS_PID_RRM, (Init_Fun_Type)RRM_PidInit, (Msg_Fun_Type)RRM_MsgProc); if (VOS_OK != ulResult) { RRM_ERROR_LOG(UEPS_PID_RRM, "RRM_FidInit, VOS_RegisterPIDInfo Fail."); return VOS_ERR; } /* 注册任务优先级 */ ulResult = VOS_RegisterTaskPrio(UEPS_FID_RRM, RRM_TASK_PRIO); if (VOS_OK != ulResult) { RRM_ERROR_LOG(UEPS_PID_RRM, "RRM_FidInit, VOS_RegisterTaskPrio Fail."); return VOS_ERR; } break; default: break; } return VOS_OK; }
VOS_VOID RRM_SndRadioResourceApplyCnf ( VOS_UINT32 ulRecievePid, PS_RRM_RESULT_ENUM_UINT8 enResult ) { VOS_UINT32 ulLength; RRM_PS_RADIO_RESOURCE_APPLY_CNF_STRU *pstRadioResourceApplyCnf = VOS_NULL_PTR; ulLength = sizeof(RRM_PS_RADIO_RESOURCE_APPLY_CNF_STRU) - VOS_MSG_HEAD_LENGTH; /* 分配消息空间 */ pstRadioResourceApplyCnf = (RRM_PS_RADIO_RESOURCE_APPLY_CNF_STRU *)PS_ALLOC_MSG(UEPS_PID_RRM, ulLength); if (VOS_NULL_PTR == pstRadioResourceApplyCnf) { RRM_ERROR_LOG(UEPS_PID_RRM, "Alloc msg fail!"); return; } /* 清消息空间 */ PS_MEM_SET((VOS_UINT8*)pstRadioResourceApplyCnf + VOS_MSG_HEAD_LENGTH, 0, ulLength); /* 填充消息 */ pstRadioResourceApplyCnf->stMsgHeader.ulReceiverPid = ulRecievePid; pstRadioResourceApplyCnf->stMsgHeader.ulSenderPid = UEPS_PID_RRM; pstRadioResourceApplyCnf->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstRadioResourceApplyCnf->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstRadioResourceApplyCnf->stMsgHeader.ulMsgName = ID_RRM_PS_RADIO_RESOURCE_APPLY_CNF; pstRadioResourceApplyCnf->stMsgHeader.ulLength = sizeof(RRM_PS_RADIO_RESOURCE_APPLY_CNF_STRU) - VOS_MSG_HEAD_LENGTH; pstRadioResourceApplyCnf->enResult = enResult; /* 发送消息 */ if (VOS_OK != PS_SEND_MSG(UEPS_PID_RRM, pstRadioResourceApplyCnf)) { RRM_ERROR_LOG(UEPS_PID_RRM, "Snd Msg err."); return; } return; }
VOS_VOID RRM_MsgProc(MsgBlock * pstMsg) { if (VOS_NULL_PTR == pstMsg) { RRM_ERROR_LOG(UEPS_PID_RRM, "RRM_MsgProc, pMsg is NULL."); return; } /* 定时器超时消息 */ if (VOS_PID_TIMER == pstMsg->ulSenderPid) { RRM_RcvTimerExpireMsg((REL_TIMER_MSG *)pstMsg); } else { /* 协议栈任务发过来的消息 */ RRM_RcvPSMsg(pstMsg); } return; }
VOS_VOID RRM_InitModemCfgInfo(NV_MODEM_RF_SHARE_CFG_STRU *pstModemCfgInfo) { /* 参数合法性判断 */ if (VOS_NULL_PTR == pstModemCfgInfo) { RRM_ERROR_LOG(UEPS_PID_RRM, "RRM_InitModemInfo: pstModemCfgInfo is null."); return; } /* 初始化MODEM配置信息 */ pstModemCfgInfo->usSupportFlag = PS_FALSE; pstModemCfgInfo->usGSMRFID = RRM_RFID_DEFAULT_VALUE; pstModemCfgInfo->usWCDMARFID = RRM_RFID_DEFAULT_VALUE; pstModemCfgInfo->usTDSRFID = RRM_RFID_DEFAULT_VALUE; pstModemCfgInfo->usLTERFID = RRM_RFID_DEFAULT_VALUE; pstModemCfgInfo->usCDMARFID = RRM_RFID_DEFAULT_VALUE; pstModemCfgInfo->usEVDORFID = RRM_RFID_DEFAULT_VALUE; pstModemCfgInfo->usReserved = RRM_RFID_DEFAULT_VALUE; return; }