VOS_VOID TAF_CALL_SendImsaSrvccStatusNtf( CALL_IMSA_SRVCC_STATUS_ENUM_UINT32 enSrvccSta ) { CALL_IMSA_SRVCC_STATUS_NOTIFY_STRU *pstSndMsg = VOS_NULL_PTR; VOS_UINT32 ulRet; /* 申请消息内存 */ pstSndMsg = (CALL_IMSA_SRVCC_STATUS_NOTIFY_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN( WUEPS_PID_TAF, sizeof(CALL_IMSA_SRVCC_STATUS_NOTIFY_STRU)); if (VOS_NULL_PTR == pstSndMsg) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_CALL_SendImsaSrvccStatusNtf: ERROR:Memory Alloc Error for pstMsg!"); return; } /* fill in message header */ pstSndMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstSndMsg->ulSenderPid = WUEPS_PID_TAF; pstSndMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstSndMsg->ulReceiverPid = PS_PID_IMSA; pstSndMsg->ulLength = sizeof(CALL_IMSA_SRVCC_STATUS_NOTIFY_STRU) - VOS_MSG_HEAD_LENGTH; pstSndMsg->enSrvccStatus = enSrvccSta; /* fill in message name */ pstSndMsg->ulMsgId = ID_CALL_IMSA_SRVCC_STATUS_NOTIFY; ulRet = PS_SEND_MSG(WUEPS_PID_TAF, pstSndMsg); if (VOS_OK != ulRet) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_CALL_SendImsaSrvccStatusNtf: send msg fail!"); return; } return; }
VOS_VOID CNAS_HSM_SndHluSessionChangedInd( CNAS_HSM_SESSION_TYPE_ENUM_UINT8 enSessionType ) { HSM_HLU_SESSION_CHANGED_IND_STRU *pstSessionChangedInd; VOS_UINT32 ulLen; ulLen = sizeof(HSM_HLU_SESSION_CHANGED_IND_STRU) - VOS_MSG_HEAD_LENGTH; #if defined(DMT) pstSessionChangedInd = (HSM_HLU_SESSION_CHANGED_IND_STRU *)PS_ALLOC_MSG(UEPS_PID_HSM, ulLen); #else pstSessionChangedInd = (HSM_HLU_SESSION_CHANGED_IND_STRU *)CNAS_GetIntMsgSendBuf(UEPS_PID_HSM, sizeof(HSM_HLU_SESSION_CHANGED_IND_STRU)); #endif if (VOS_NULL_PTR == pstSessionChangedInd) { return; } NAS_MEM_SET_S(((VOS_UINT8 *)pstSessionChangedInd + VOS_MSG_HEAD_LENGTH), ulLen, 0x00, ulLen); CNAS_CFG_MSG_HDR(pstSessionChangedInd, UEPS_PID_HSM, UEPS_PID_HLU, ID_HSM_HLU_SESSION_CHANGED_IND, ulLen); pstSessionChangedInd->enRatMode = CNAS_HSM_ConvertHsmSessionTypeToHluSessionRatMode(enSessionType); #if defined (DMT) (VOS_VOID)PS_SEND_MSG(UEPS_PID_HSM, pstSessionChangedInd); #else (VOS_VOID)CNAS_SndInternalMsg(pstSessionChangedInd); #endif }
VOS_UINT32 TAF_MMA_SndMmcPowerOffReq( MMA_MMC_POWER_OFF_CAUSE_ENUM_UINT32 enCause ) { VOS_UINT32 ulRet; MMA_MMC_POWER_OFF_REQ_STRU *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_MMC_POWER_OFF_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MMC_POWER_OFF_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstMsg ) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcPowerOffReq:ERROR: Memory Alloc Error for pMsg"); return VOS_ERR; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MMC_POWER_OFF_REQ_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->MsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->MsgHeader.ulReceiverPid = WUEPS_PID_MMC; pstMsg->MsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->MsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->MsgHeader.ulLength = sizeof(MMA_MMC_POWER_OFF_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->MsgHeader.ulMsgName = ID_MMA_MMC_POWER_OFF_REQ; pstMsg->enCause = enCause; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG( WUEPS_PID_MMA, pstMsg ); if ( VOS_OK != ulRet ) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcPowerOffReq:ERROR:PS_SEND_MSG FAILURE"); return VOS_ERR; } NAS_TRACE_HIGH("Send Msg!"); return VOS_OK; }
VOS_VOID CNAS_XCC_SndApsUpdateDataCallInfoInd( CNAS_XCC_CALL_INFO_CTX_STRU *pstCallInfo ) { XCC_APS_UPDATE_DATA_CALL_INFO_IND_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (XCC_APS_UPDATE_DATA_CALL_INFO_IND_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN(UEPS_PID_XCC, sizeof(XCC_APS_UPDATE_DATA_CALL_INFO_IND_STRU)); if (VOS_NULL_PTR == pstMsg) { return; } NAS_MEM_SET_S((VOS_UINT8*)pstMsg + VOS_MSG_HEAD_LENGTH, sizeof(XCC_APS_UPDATE_DATA_CALL_INFO_IND_STRU) - VOS_MSG_HEAD_LENGTH, 0, sizeof(XCC_APS_UPDATE_DATA_CALL_INFO_IND_STRU) - VOS_MSG_HEAD_LENGTH); /* 填充消息 */ pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = UEPS_PID_XCC; pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = CNAS_CCB_ConvertPidBasedOnModemId(CNAS_CCB_GetCdmaModeModemId(), WUEPS_PID_TAF); pstMsg->ulLength = sizeof(XCC_APS_UPDATE_DATA_CALL_INFO_IND_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->enMsgId = ID_XCC_APS_UPDATE_DATA_CALL_INFO_IND; pstMsg->usOpId = 0; pstMsg->ucCallId = pstCallInfo->ucCallId; pstMsg->ucConnectId = pstCallInfo->ucConnectId; pstMsg->ucConRef = pstCallInfo->ucConRef; pstMsg->ucSrId = pstCallInfo->ucSrId; pstMsg->enSo = pstCallInfo->enCurrentSo; CNAS_MNTN_LogMsgInfo((MSG_HEADER_STRU*)pstMsg); /* 发送消息 */ (VOS_VOID)PS_SEND_MSG(UEPS_PID_XCC, pstMsg); }
VOS_VOID TAF_MMA_SndSpmImsVoiceCapInd( VOS_UINT8 ucAvail ) { VOS_UINT32 ulRet; MMA_TAF_IMS_VOICE_CAP_IND_STRU *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_TAF_IMS_VOICE_CAP_IND_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_TAF_IMS_VOICE_CAP_IND_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstMsg ) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndSpmImsVoiceCapInd:ERROR: Memory Alloc Error for pstMsg"); return; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_TAF_IMS_VOICE_CAP_IND_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = WUEPS_PID_TAF; pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = WUEPS_PID_MMA; pstMsg->ulLength = sizeof(MMA_TAF_IMS_VOICE_CAP_IND_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->ulMsgName = ID_MMA_TAF_IMS_VOICE_CAP_IND; pstMsg->ucImsVoiceAvail = ucAvail; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG( WUEPS_PID_MMA, pstMsg ); if ( VOS_OK != ulRet ) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndSpmImsVoiceCapInd:ERROR:PS_SEND_MSG FAILURE"); return; } return; }
VOS_VOID MTC_DEBUG_SendOtherRatInfoInd(VOS_VOID) { VOS_UINT16 ulLenth; VOS_UINT8 *pMsg = VOS_NULL_PTR; VOS_UINT8 aucMsg[] = { 0x00, 0x00, 0x00, 0x00, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDB, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x10, 0x2E, 0x00, 0x00, 0x00, 0x18, 0x09, 0x01, 0x00, 0x16, 0x0D, 0x01, 0x0E, 0x80, 0xFF, 0xFF, 0x35, 0x05, 0x01, 0x2F, 0x00, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; /* 分配消息空间 */ ulLenth = sizeof(aucMsg); pMsg = (VOS_UINT8 *)PS_ALLOC_MSG_WITH_HEADER_LEN(WUEPS_PID_CBPCA, ulLenth); if (VOS_NULL_PTR == pMsg) { MTC_ERROR_LOG("MTC_DEBUG_SendOtherRatInfoInd: Alloc Msg Fail!"); return; } /* 填充消息 */ PS_MEM_CPY(pMsg, aucMsg, ulLenth); /* 发送消息 */ if (VOS_OK != PS_SEND_MSG(WUEPS_PID_CBPCA, pMsg)) { MTC_ERROR1_LOG("MTC_DEBUG_SendOtherRatInfoInd: Snd Msg Err. SendPid: ", WUEPS_PID_CBPCA); return; } return; }
VOS_VOID TAF_MMA_SndPowerSaveCnf( TAF_MMA_CTRL_STRU *pstCtrl, TAF_MMA_APP_OPER_RESULT_ENUM_UINT32 enRslt ) { TAF_MMA_POWER_SAVE_CNF_STRU *pstSndMsg = VOS_NULL_PTR; VOS_UINT32 ulRst; pstSndMsg = (TAF_MMA_POWER_SAVE_CNF_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN( WUEPS_PID_MMA, sizeof(TAF_MMA_POWER_SAVE_CNF_STRU)); if (VOS_NULL_PTR == pstSndMsg) { TAF_ERROR_LOG(WUEPS_PID_MMA,"TAF_MMA_SndPowerSaveCnf:Alloc Msg Failed"); return; } PS_MEM_SET( (VOS_INT8 *)pstSndMsg + VOS_MSG_HEAD_LENGTH, 0X00, sizeof(TAF_MMA_POWER_SAVE_CNF_STRU) - VOS_MSG_HEAD_LENGTH); pstSndMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstSndMsg->ulSenderPid = WUEPS_PID_MMA; pstSndMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstSndMsg->ulReceiverPid = pstCtrl->ulModuleId; pstSndMsg->ulMsgName = ID_TAF_MMA_POWER_SAVE_CNF; pstSndMsg->usClientId = pstCtrl->usClientId; pstSndMsg->ucOpid = pstCtrl->ucOpId; pstSndMsg->enRslt = enRslt; ulRst = PS_SEND_MSG(WUEPS_PID_MMA, pstSndMsg); if (VOS_OK != ulRst) { TAF_ERROR_LOG(WUEPS_PID_MMA,"TAF_MMA_SndPowerSaveCnf:Send Msg Failed"); return; } return; }
VOS_UINT32 TAF_MMA_SndMmcPlmnSpecialReq( MMA_MMC_PLMN_ID_STRU *pstPlmnId, MMA_MMC_NET_RAT_TYPE_ENUM_UINT8 enAccessMode ) { VOS_UINT32 ulRet; MMA_MMC_PLMN_SPECIAL_REQ_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (MMA_MMC_PLMN_SPECIAL_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MMC_PLMN_SPECIAL_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstMsg ) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcPlmnSpecialReq:ERROR: Memory Alloc Error for pMsg"); return VOS_ERR; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MMC_PLMN_SPECIAL_REQ_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->MsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->MsgHeader.ulReceiverPid = WUEPS_PID_MMC; pstMsg->MsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->MsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->MsgHeader.ulLength = sizeof(MMA_MMC_PLMN_SPECIAL_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->MsgHeader.ulMsgName = ID_MMA_MMC_PLMN_SPECIAL_REQ; pstMsg->stPlmnId = *pstPlmnId; pstMsg->enAccessMode = enAccessMode; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG( WUEPS_PID_MMA, pstMsg ); if ( VOS_OK != ulRet ) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcPlmnSpecialReq:ERROR:PS_SEND_MSG FAILURE"); return VOS_ERR; } return VOS_OK; }
VOS_UINT32 TAF_MMA_SndMsgCsServiceChangeNotify( TAF_CS_SERVICE_ENUM_UINT32 enCsState ) { VOS_UINT32 ulRet; MMA_MSG_CS_SERVICE_IND *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_MSG_CS_SERVICE_IND *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MSG_CS_SERVICE_IND) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstMsg ) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMsgCsServiceChangeNotify:ERROR: Memory Alloc Error for pMsg"); return VOS_ERR; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MSG_CS_SERVICE_IND) - VOS_MSG_HEAD_LENGTH); pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = WUEPS_PID_TAF; pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = WUEPS_PID_MMA; pstMsg->ulLength = sizeof(MMA_MSG_CS_SERVICE_IND) - VOS_MSG_HEAD_LENGTH; pstMsg->ulMsgName = ID_MMA_MSG_CS_SERVICE_CHANGE_NOTIFY; pstMsg->enCSState = enCsState; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG( WUEPS_PID_MMA, pstMsg ); if ( VOS_OK != ulRet ) { TAF_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMsgCsServiceChangeNotify:ERROR:PS_SEND_MSG FAILURE"); return VOS_ERR; } return VOS_OK; }
VOS_UINT32 TAF_MMA_SndMmcAcqReq( TAF_MMA_ACQ_PARA_STRU *pstMmaAcqPara ) { VOS_UINT32 ulRet; MMA_MMC_ACQ_REQ_STRU *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_MMC_ACQ_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MMC_ACQ_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcAcqReq:ERROR: Memory Alloc Error for pMsg"); return VOS_ERR; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MMC_ACQ_REQ_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMC; pstMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulLength = sizeof(MMA_MMC_ACQ_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->stMsgHeader.ulMsgName = ID_MMA_MMC_ACQ_REQ; pstMsg->enAcqReason = pstMmaAcqPara->enAcqReason; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG(WUEPS_PID_MMA, pstMsg); if (VOS_OK != ulRet) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcAcqReq:ERROR:PS_SEND_MSG FAILURE"); return VOS_ERR; } return VOS_OK; }
VOS_UINT32 APP_VC_SetVoiceMode( MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId, VOS_UINT8 ucVoiceMode, VOS_UINT32 ulTaskPid ) { /*构造消息发送消息给VC模块*/ VOS_UINT32 ulRslt; APP_VC_REQ_MSG_STRU *pstMsg; /* 申请消息 */ pstMsg = (APP_VC_REQ_MSG_STRU *)PS_ALLOC_MSG(WUEPS_PID_AT, sizeof(APP_VC_REQ_MSG_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { AT_ERR_LOG("APP_VC_SetVoiceMode: ALLOC MSG FAIL."); return VOS_ERR; } pstMsg->clientId = ClientId; pstMsg->opId = OpId; pstMsg->enMsgName = APP_VC_MSG_REQ_SET_MODE; pstMsg->ulSenderPid = WUEPS_PID_AT; pstMsg->ulReceiverPid = ulTaskPid; pstMsg->aucContent[0] = ucVoiceMode; pstMsg->aucContent[1] = 0; pstMsg->aucContent[2] = 0; pstMsg->aucContent[3] = 0; ulRslt = PS_SEND_MSG(WUEPS_PID_AT, pstMsg); if (VOS_OK != ulRslt) { AT_ERR_LOG("APP_VC_SetVoiceMode: SEND MSG FAIL."); return VOS_ERR; } return VOS_OK; }
/***************************************************************************** 函 数 名 : AT_FillAndSndCSIMAMsg 功能描述 : AT到CCIMA模块消息 输入参数 : VIA Modem 复位状态 输出参数 : 无 返 回 值 : VOS_UINT32 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2013年12月20日 修改内容 : V9R1 L_plus_C项目新增 *****************************************************************************/ VOS_UINT32 AT_FillAndSndCSIMAMsg(VOS_UINT32 ulModemStatus) { AT_CSIMA_RESET_STATUS_IND_MSG_STRU *pstATCSIMAIndMsg; /* 申请内存 */ pstATCSIMAIndMsg = (AT_CSIMA_RESET_STATUS_IND_MSG_STRU *)PS_ALLOC_MSG(WUEPS_PID_AT, sizeof(AT_CSIMA_RESET_STATUS_IND_MSG_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstATCSIMAIndMsg ) { /* 内存申请失败 */ AT_ERR_LOG("AT_FillAndSndCSIMAMsg:ERROR: Memory Alloc Error for pstMsg"); return VOS_ERR; } /* 填写相关参数 */ pstATCSIMAIndMsg->ulReceiverPid = WUEPS_PID_CSIMA; pstATCSIMAIndMsg->ulMsgId = AT_CSIMA_RESET_IND_MSG; pstATCSIMAIndMsg->enVIAModemStatus = (CBP_MODEM_RESET_STATUS_ENUM_UINT32)ulModemStatus; /* 调用VOS发送原语 */ return PS_SEND_MSG(WUEPS_PID_AT, pstATCSIMAIndMsg); }
VOS_VOID CNAS_XCC_SndApsIncomingCallInd( CNAS_XCC_CALL_INFO_CTX_STRU *pstCallInfo ) { XCC_APS_INCOMING_CALL_IND_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (XCC_APS_INCOMING_CALL_IND_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN(UEPS_PID_XCC, sizeof(XCC_APS_INCOMING_CALL_IND_STRU)); if (VOS_NULL_PTR == pstMsg) { return; } NAS_MEM_SET_S((VOS_UINT8*)pstMsg + VOS_MSG_HEAD_LENGTH, sizeof(XCC_APS_INCOMING_CALL_IND_STRU) - VOS_MSG_HEAD_LENGTH, 0, sizeof(XCC_APS_INCOMING_CALL_IND_STRU) - VOS_MSG_HEAD_LENGTH); /* 填充消息 */ pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = UEPS_PID_XCC; pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = CNAS_CCB_ConvertPidBasedOnModemId(CNAS_CCB_GetCdmaModeModemId(), WUEPS_PID_TAF); pstMsg->ulLength = sizeof(XCC_APS_INCOMING_CALL_IND_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->enMsgId = ID_XCC_APS_INCOMING_CALL_IND; pstMsg->usOpId = 0; /* APS需要通过初始化SO来判断进哪个DORMANT */ pstMsg->enSo = pstCallInfo->enInitSo; pstMsg->ucCallId = pstCallInfo->ucCallId; pstMsg->ucConnectId = pstCallInfo->ucConnectId; pstMsg->ucIsAlertAnsByPass = pstCallInfo->ucIsByPassAlertAns; CNAS_MNTN_LogMsgInfo((MSG_HEADER_STRU*)pstMsg); /* 发送消息 */ (VOS_VOID)PS_SEND_MSG(UEPS_PID_XCC, pstMsg); }
VOS_VOID ADS_UL_SendCdsClearDataRsp( MODEM_ID_ENUM_UINT16 enModemId, VOS_UINT8 ucRabId ) { VOS_UINT32 ulResult; CDS_ADS_CLEAR_DATA_RSP_STRU *pstClearDataRsp; /*申请消息 */ pstClearDataRsp = (CDS_ADS_CLEAR_DATA_RSP_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN( ACPU_PID_ADS_UL, sizeof(CDS_ADS_CLEAR_DATA_RSP_STRU)); /* 内存申请失败,返回 */ if( VOS_NULL_PTR == pstClearDataRsp ) { return; } PS_MEM_SET((VOS_INT8 *)pstClearDataRsp + VOS_MSG_HEAD_LENGTH, 0x00, (VOS_SIZE_T)(sizeof(CDS_ADS_CLEAR_DATA_RSP_STRU) - VOS_MSG_HEAD_LENGTH)); /* 填写消息内容 */ pstClearDataRsp->ulReceiverPid = UEPS_PID_CDS; pstClearDataRsp->enMsgId = ID_CDS_ADS_CLEAR_DATA_RSP; pstClearDataRsp->enModemId = enModemId; pstClearDataRsp->ucRabId = ucRabId; /* 调用VOS发送原语 */ ulResult = PS_SEND_MSG(ACPU_PID_ADS_UL, pstClearDataRsp); if(VOS_OK != ulResult) { ADS_ERROR_LOG(ACPU_PID_ADS_UL, "ADS_UL_SendCdsClearDataRsp: Send Msg Fail!"); } return; }
VOS_VOID Ss_SndMmssAbortReq( VOS_UINT8 ucTi /* 对应的MM连接的TI */ ) { VOS_VOID *pMsg; /* 定义消息中数据 */ pMsg = PS_ALLOC_MSG(WUEPS_PID_SS, sizeof(MMSS_ABORT_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pMsg ) { NAS_MSG_FAIL(); return; } (( MMSS_ABORT_REQ_STRU *)pMsg )->MsgHeader.ulReceiverPid = WUEPS_PID_MM; (( MMSS_ABORT_REQ_STRU *)pMsg )->MsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; /* 设置消息组名 */ (( MMSS_ABORT_REQ_STRU *)pMsg )->MsgHeader.ulMsgName = MMSS_ABORT_REQ; /* 设置消息名称 */ (( MMSS_ABORT_REQ_STRU *)pMsg )->ulTransactionId = ucTi; /* 设置对应的MM连接的TI */ if (VOS_OK != PS_SEND_MSG(WUEPS_PID_SS, pMsg)) /* 向MM发送 */ { NAS_WARNING_LOG(WUEPS_PID_SS, "Ss_SndMmssAbortReq():WARNING:SEND MSG FIAL"); } }
VOS_UINT32 CNAS_XSD_SndCasNegativeSystemQueryRsp( CNAS_CAS_1X_SYSTEM_IDENTITY_STRU *pstCurrSystemId, CNAS_PRL_ACQ_REC_FREQ_INFO_STRU *pstNegativeFreqList ) { CNAS_CAS_1X_NEGATIVE_SYSTEM_QUERY_RSP_STRU *pstQueryRsp = VOS_NULL_PTR; pstQueryRsp = (CNAS_CAS_1X_NEGATIVE_SYSTEM_QUERY_RSP_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN(UEPS_PID_XSD, sizeof(CNAS_CAS_1X_NEGATIVE_SYSTEM_QUERY_RSP_STRU)); if (VOS_NULL_PTR == pstQueryRsp) { return VOS_FALSE; } NAS_MEM_SET_S(pstQueryRsp, 0x00, sizeof(CNAS_CAS_1X_NEGATIVE_SYSTEM_QUERY_RSP_STRU)); /* 填写消息头部信息 */ pstQueryRsp->ulSenderCpuId = VOS_LOCAL_CPUID; pstQueryRsp->ulSenderPid = UEPS_PID_XSD; pstQueryRsp->ulReceiverCpuId = VOS_LOCAL_CPUID; pstQueryRsp->ulReceiverPid = UEPS_PID_1XCASM; pstQueryRsp->ulLength = sizeof(CNAS_CAS_1X_NEGATIVE_SYSTEM_QUERY_RSP_STRU) - VOS_MSG_HEAD_LENGTH; pstQueryRsp->enMsgId = ID_CNAS_CAS_1X_NEGATIVE_SYSTEM_QUERY_RSP; pstQueryRsp->usOpId = 0; pstQueryRsp->stCurrSysId = *pstCurrSystemId; pstQueryRsp->ulNegFreqNum = pstNegativeFreqList->ulNum; PS_MEM_CPY(&pstQueryRsp->astNegFreqList[0], &pstNegativeFreqList->astFreqInfo[0], pstNegativeFreqList->ulNum * sizeof (CNAS_CAS_1X_FREQENCY_CHANNEL_STRU)); CNAS_MNTN_LogMsgInfo((MSG_HEADER_STRU*)pstQueryRsp); /* 发送消息 */ PS_SEND_MSG(UEPS_PID_XSD, pstQueryRsp); return VOS_TRUE; }
VOS_UINT32 AT_SndSetVoicePrefer ( VOS_UINT16 usClientId, VOS_UINT8 ucOpId, VOS_UINT32 ulVoicePreferApStatus ) { AT_RABM_SET_VOICEPREFER_PARA_REQ_STRU *pstSndMsg = VOS_NULL_PTR; VOS_UINT32 ulRslt; /* 申请内存 */ pstSndMsg = (AT_RABM_SET_VOICEPREFER_PARA_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_AT, sizeof(AT_RABM_SET_VOICEPREFER_PARA_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstSndMsg ) { /* 内存申请失败 */ AT_ERR_LOG("AT_SndSetVoicePrefer:ERROR: Memory Alloc Error for pstMsg"); return VOS_ERR; } /* 填写相关参数 */ pstSndMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstSndMsg->stMsgHeader.ulReceiverPid = AT_GetDestPid(usClientId, I0_WUEPS_PID_RABM); pstSndMsg->stMsgHeader.ulLength = sizeof(AT_RABM_SET_VOICEPREFER_PARA_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstSndMsg->stMsgHeader.ulMsgName = ID_AT_RABM_SET_VOICEPREFER_PARA_REQ; pstSndMsg->usClientId = usClientId; pstSndMsg->ucOpId = ucOpId; pstSndMsg->ulVoicePreferApStatus = ulVoicePreferApStatus; /* 调用VOS发送原语 */ ulRslt = PS_SEND_MSG(WUEPS_PID_AT, pstSndMsg); if ( VOS_OK != ulRslt ) { AT_ERR_LOG("AT_SndSetVoicePrefer:ERROR:PS_SEND_MSG "); return VOS_ERR; } return VOS_OK; }
VOS_VOID TAF_APS_SndL4aAbortReq( VOS_UINT8 ucCid ) { APS_L4A_ABORT_REQ_STRU *pstAbortReq; /* 构造消息 */ pstAbortReq = (APS_L4A_ABORT_REQ_STRU*)PS_ALLOC_MSG_WITH_HEADER_LEN( WUEPS_PID_TAF, sizeof(APS_L4A_ABORT_REQ_STRU)); if (VOS_NULL_PTR == pstAbortReq) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_APS_SndL4aAbortReq: Memory alloc failed."); return; } /* 初始化消息 */ PS_MEM_SET((VOS_CHAR*)pstAbortReq + VOS_MSG_HEAD_LENGTH, 0x00, sizeof(APS_L4A_ABORT_REQ_STRU) - VOS_MSG_HEAD_LENGTH); /* 填写消息头 */ pstAbortReq->ulReceiverCpuId = VOS_LOCAL_CPUID; pstAbortReq->ulReceiverPid = MSP_L4_L4A_PID; pstAbortReq->enMsgId = ID_APS_L4A_ABORT_REQ; /* 填写消息内容 */ pstAbortReq->ucCid = ucCid; /* 发送消息 */ if (VOS_OK != PS_SEND_MSG(WUEPS_PID_TAF, pstAbortReq)) { TAF_ERROR_LOG(WUEPS_PID_TAF, "TAF_APS_SndL4aAbortReq: Send message failed."); return; } return; }
VOS_VOID CNAS_HSM_SndHsdPowerSaveCnf(VOS_VOID) { HSM_HSD_POWER_SAVE_CNF_STRU *pstHsmHsdPowerSaveCnf = VOS_NULL_PTR; #if defined(DMT) VOS_UINT32 ulLen; ulLen = sizeof(HSM_HSD_POWER_SAVE_CNF_STRU) - VOS_MSG_HEAD_LENGTH; pstHsmHsdPowerSaveCnf = (HSM_HSD_POWER_SAVE_CNF_STRU *)PS_ALLOC_MSG(UEPS_PID_HSM, ulLen); #else pstHsmHsdPowerSaveCnf = (HSM_HSD_POWER_SAVE_CNF_STRU *)CNAS_GetIntMsgSendBuf(UEPS_PID_HSM, sizeof(HSM_HSD_POWER_SAVE_CNF_STRU)); #endif if (VOS_NULL_PTR == pstHsmHsdPowerSaveCnf) { return; } #if defined(DMT) NAS_MEM_SET_S(((VOS_UINT8 *)pstHsmHsdPowerSaveCnf + VOS_MSG_HEAD_LENGTH), (sizeof(HSM_HSD_POWER_SAVE_CNF_STRU) - VOS_MSG_HEAD_LENGTH), 0, (sizeof(HSM_HSD_POWER_SAVE_CNF_STRU) - VOS_MSG_HEAD_LENGTH)); #endif CNAS_CFG_MSG_HDR(pstHsmHsdPowerSaveCnf, UEPS_PID_HSM, UEPS_PID_HSD, ID_HSM_HSD_POWER_SAVE_CNF, (sizeof(HSM_HSD_POWER_SAVE_CNF_STRU) - VOS_MSG_HEAD_LENGTH)); #if defined(DMT) (VOS_VOID)PS_SEND_MSG(UEPS_PID_HSM, pstHsmHsdPowerSaveCnf); #else (VOS_VOID)CNAS_SndInternalMsg(pstHsmHsdPowerSaveCnf); #endif }
VOS_UINT32 APP_VC_GetVoicePort( MN_CLIENT_ID_T ClientId, MN_OPERATION_ID_T OpId ) { /*构造消息发送消息给VC模块*/ VOS_UINT32 ulRslt; APP_VC_REQ_MSG_STRU *pstMsg; /* 申请消息 */ pstMsg = (APP_VC_REQ_MSG_STRU *)PS_ALLOC_MSG(WUEPS_PID_AT, sizeof(APP_VC_REQ_MSG_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { AT_ERR_LOG("APP_VC_GetVoicePort: ALLOC MSG FAIL."); return VOS_ERR; } /* 组装消息 */ pstMsg->clientId = ClientId; pstMsg->opId = OpId; pstMsg->enMsgName = APP_VC_MSG_REQ_QRY_PORT; pstMsg->ulSenderPid = WUEPS_PID_AT; pstMsg->ulReceiverPid = AT_GetDestPid(ClientId, I0_WUEPS_PID_VC); pstMsg->aucContent[0] = 0; pstMsg->aucContent[1] = 0; pstMsg->aucContent[2] = 0; pstMsg->aucContent[3] = 0; ulRslt = PS_SEND_MSG(WUEPS_PID_AT, pstMsg); if (VOS_OK != ulRslt) { AT_ERR_LOG("APP_VC_GetVoicePort: SEND MSG FAIL."); return VOS_ERR; } return VOS_OK; }
VOS_VOID TAF_MMA_SndMmcImsSrvInfoNotify( VOS_UINT8 ucImsCallFlg ) { VOS_UINT32 ulRet; MMA_MMC_IMS_SRV_INFO_NOTIFY_STRU *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_MMC_IMS_SRV_INFO_NOTIFY_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MMC_IMS_SRV_INFO_NOTIFY_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstMsg ) { MN_ERR_LOG("TAF_MMA_SndMmcImsSrvInfoNotify:ERROR: Memory Alloc Error for pMsg"); return; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MMC_IMS_SRV_INFO_NOTIFY_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulReceiverPid = WUEPS_PID_MMC; pstMsg->stMsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->stMsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->stMsgHeader.ulLength = sizeof(MMA_MMC_IMS_SRV_INFO_NOTIFY_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->stMsgHeader.ulMsgName = ID_MMA_MMC_IMS_SRV_INFO_NOTIFY; pstMsg->ucImsCallFlg = ucImsCallFlg; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG( WUEPS_PID_MMA, pstMsg ); if ( VOS_OK != ulRet ) { MN_ERR_LOG("TAF_MMA_SndMmcImsSrvInfoNotify:ERROR:PS_SEND_MSG FAILURE"); } return; }
VOS_VOID MTC_SndRrcNotchChannelInd( VOS_UINT32 ulRecvPid, PS_BOOL_ENUM_UINT8 enEnableFlag ) { VOS_UINT16 ulLenth; MTC_RRC_NOTCH_CHANNEL_IND_STRU *pstNotchChannelInd = VOS_NULL_PTR; ulLenth = sizeof(MTC_RRC_NOTCH_CHANNEL_IND_STRU) - VOS_MSG_HEAD_LENGTH; /* 分配消息空间 */ pstNotchChannelInd = (MTC_RRC_NOTCH_CHANNEL_IND_STRU *)PS_ALLOC_MSG( UEPS_PID_MTC, ulLenth); if (VOS_NULL_PTR == pstNotchChannelInd) { MTC_ERROR_LOG("MTC_SndRrcNotchChannelInd: alloc msg fail."); return; } /* 清消息空间 */ PS_MEM_SET((VOS_UINT8*)pstNotchChannelInd + VOS_MSG_HEAD_LENGTH, 0, ulLenth); /* 填充消息 */ pstNotchChannelInd->stMsgHeader.ulReceiverPid = ulRecvPid; pstNotchChannelInd->stMsgHeader.ulMsgName = ID_MTC_RRC_NOTCH_CHANNEL_IND; pstNotchChannelInd->enStartFlag = enEnableFlag; /* 发送消息 */ if (VOS_OK != PS_SEND_MSG(UEPS_PID_MTC, pstNotchChannelInd)) { MTC_ERROR1_LOG("MTC_SndRrcNotchChannelInd: Snd Msg err. Rec Pid ", ulRecvPid); return; } return; }
VOS_UINT32 TAF_MMA_SndMmcModeChangeReq( MMA_MMC_MS_MODE_ENUM_UINT32 enMsMode ) { VOS_UINT32 ulRet; MMA_MMC_MODE_CHANGE_REQ_STRU *pstMsg = VOS_NULL_PTR; /* 申请内存 */ pstMsg = (MMA_MMC_MODE_CHANGE_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_MMA, sizeof(MMA_MMC_MODE_CHANGE_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstMsg ) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcModeChangeReq:ERROR: Memory Alloc Error for pMsg"); return VOS_ERR; } PS_MEM_SET((VOS_INT8*)pstMsg + VOS_MSG_HEAD_LENGTH, 0, sizeof(MMA_MMC_MODE_CHANGE_REQ_STRU) - VOS_MSG_HEAD_LENGTH); pstMsg->MsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->MsgHeader.ulReceiverPid = WUEPS_PID_MMC; pstMsg->MsgHeader.ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->MsgHeader.ulSenderPid = WUEPS_PID_MMA; pstMsg->MsgHeader.ulLength = sizeof(MMA_MMC_MODE_CHANGE_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->MsgHeader.ulMsgName = ID_MMA_MMC_MODE_CHANGE_REQ; pstMsg->enMsMode = enMsMode; /* 调用VOS发送原语 */ ulRet = PS_SEND_MSG( WUEPS_PID_MMA, pstMsg ); if ( VOS_OK != ulRet ) { NAS_ERROR_LOG(WUEPS_PID_MMA, "TAF_MMA_SndMmcModeChangeReq:ERROR:PS_SEND_MSG FAILURE"); return VOS_ERR; } return VOS_OK; }
VOS_UINT32 AT_FillAndSndCSIMAMsg(VOS_UINT16 usClinetID, VOS_UINT32 ulModemStatus) { AT_CSIMA_RESET_STATUS_IND_MSG_STRU *pstATCSIMAIndMsg; MODEM_ID_ENUM_UINT16 enModemID; /* 调用接口获取Modem ID */ if(VOS_OK != AT_GetModemIdFromClient(usClinetID,&enModemID)) { AT_ERR_LOG("AT_FillAndSndCSIMAMsg:ERROR: AT_GetModemIdFromClient Error"); return VOS_ERR; } /* 申请内存 */ pstATCSIMAIndMsg = (AT_CSIMA_RESET_STATUS_IND_MSG_STRU *)PS_ALLOC_MSG(WUEPS_PID_AT, sizeof(AT_CSIMA_RESET_STATUS_IND_MSG_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstATCSIMAIndMsg ) { /* 内存申请失败 */ AT_ERR_LOG("AT_FillAndSndCSIMAMsg:ERROR: Memory Alloc Error for pstMsg"); return VOS_ERR; } /* 填写相关参数 */ if (MODEM_ID_1 == enModemID) { pstATCSIMAIndMsg->ulReceiverPid = I1_WUEPS_PID_CSIMA; } else { pstATCSIMAIndMsg->ulReceiverPid = I0_WUEPS_PID_CSIMA; } pstATCSIMAIndMsg->ulMsgId = AT_CSIMA_RESET_IND_MSG; pstATCSIMAIndMsg->enVIAModemStatus = (CBP_MODEM_RESET_STATUS_ENUM_UINT32)ulModemStatus; /* 调用VOS发送原语 */ return PS_SEND_MSG(WUEPS_PID_AT, pstATCSIMAIndMsg); }
VOS_VOID MTC_SndRrcRseCfgInd( VOS_UINT32 ulRcvPid, PS_BOOL_ENUM_UINT8 enRseOnFlag ) { MTC_RRC_RSE_CFG_IND_STRU *pstRseCfg = VOS_NULL_PTR; VOS_UINT32 ulLength; ulLength = sizeof(MTC_RRC_RSE_CFG_IND_STRU) - VOS_MSG_HEAD_LENGTH; /* 分配消息空间 */ pstRseCfg = (MTC_RRC_RSE_CFG_IND_STRU *)PS_ALLOC_MSG(UEPS_PID_MTC, ulLength); if (VOS_NULL_PTR == pstRseCfg) { MTC_ERROR_LOG("MTC_SndRrcRseCfgInd: alloc mem fail."); return; } /* 填写消息内容 */ pstRseCfg->stMsgHeader.ulReceiverPid = ulRcvPid; pstRseCfg->stMsgHeader.ulMsgName = ID_MTC_RRC_RSE_CFG_IND; pstRseCfg->enRseOnFlag = enRseOnFlag; pstRseCfg->aucRsv[0] = 0; pstRseCfg->aucRsv[1] = 0; pstRseCfg->aucRsv[2] = 0; /* 发送消息 */ if (VOS_OK != PS_SEND_MSG(UEPS_PID_MTC, pstRseCfg)) { MTC_ERROR_LOG("MTC_SndRrcRseCfgInd: Snd Msg err."); return; } /* 将上报结果保存到上下文中 */ MTC_SetRseCfgValue(enRseOnFlag); return; }
VOS_UINT32 At_SndReleaseRrcReq ( VOS_UINT16 usClientId, VOS_UINT8 ucOpId ) { AT_RABM_RELEASE_RRC_REQ_STRU *pstSndMsg; VOS_UINT32 ulRslt; /* 申请内存 */ pstSndMsg = (AT_RABM_RELEASE_RRC_REQ_STRU *)PS_ALLOC_MSG(WUEPS_PID_AT, sizeof(AT_RABM_RELEASE_RRC_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pstSndMsg ) { /* 内存申请失败 */ AT_ERR_LOG("At_SndReleaseRrcReq:ERROR: Memory Alloc Error for pstMsg"); return VOS_ERR; } PS_MEM_SET((VOS_CHAR*)pstSndMsg + VOS_MSG_HEAD_LENGTH, 0x00, (sizeof(AT_RABM_RELEASE_RRC_REQ_STRU) - VOS_MSG_HEAD_LENGTH)); /* 填写相关参数 */ pstSndMsg->stMsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; pstSndMsg->stMsgHeader.ulReceiverPid = AT_GetDestPid(usClientId, I0_WUEPS_PID_RABM); pstSndMsg->stMsgHeader.ulLength = sizeof(AT_RABM_RELEASE_RRC_REQ_STRU) - VOS_MSG_HEAD_LENGTH; pstSndMsg->stMsgHeader.ulMsgName = ID_AT_RABM_SET_RELEASE_RRC_REQ; pstSndMsg->usClientId = usClientId; pstSndMsg->ucOpId = ucOpId; /* 调用VOS发送原语 */ ulRslt = PS_SEND_MSG(WUEPS_PID_AT, pstSndMsg); if ( VOS_OK != ulRslt ) { AT_ERR_LOG("At_SndReleaseRrcReq:ERROR:PS_SEND_MSG "); return VOS_ERR; } return VOS_OK; }
VOS_VOID Ss_SndMmssDataReq( VOS_UINT8 ucTi, /* 对应的MM连接的TI */ VOS_UINT8 *pucSsMsg, /* 待发送数据 */ VOS_UINT32 ulSsMsgSize /* 消息长度 */ ) { VOS_VOID *pMsg; /* 定义消息中数据 */ MMSS_DATA_REQ_STRU *pSndMsg; VOS_UINT32 ulMsgLen; /* 定义消息长度变量 */ ulMsgLen = (sizeof( MMSS_DATA_REQ_STRU ) + ulSsMsgSize) - 4; /* 设置消息长度 */ if ( ulMsgLen < sizeof( MMSS_DATA_REQ_STRU ) ) { ulMsgLen = sizeof( MMSS_DATA_REQ_STRU ); } pMsg = PS_ALLOC_MSG(WUEPS_PID_SS, ulMsgLen - VOS_MSG_HEAD_LENGTH); if ( VOS_NULL_PTR == pMsg ) { return; } pSndMsg = (MMSS_DATA_REQ_STRU *)pMsg; pSndMsg->MsgHeader.ulReceiverPid = WUEPS_PID_MM; pSndMsg->MsgHeader.ulReceiverCpuId = VOS_LOCAL_CPUID; /* 设置消息组名 */ pSndMsg->MsgHeader.ulMsgName = MMSS_DATA_REQ; /* 设置消息名称 */ pSndMsg->ulTi = ucTi; /* 设置对应的MM连接的TI */ pSndMsg->SsMsg.ulSsMsgSize = ulSsMsgSize; /* 设置消息长度 */ Ss_MemCpy(pSndMsg->SsMsg.aucSsMsg, pucSsMsg, ulSsMsgSize ); /* 设置消息中的数据 */ /* 通过OM勾取SS空口消息 */ NAS_SS_ReportM2NOtaMsg(&pSndMsg->SsMsg); if (VOS_OK != PS_SEND_MSG(WUEPS_PID_SS, pSndMsg)) /* 向MM发送 */ { NAS_WARNING_LOG(WUEPS_PID_SS, "Ss_SndMmssRelReq():WARNING:SEND MSG FIAL"); } }
VOS_VOID CNAS_XSD_SndCasPowerOffReq(VOS_VOID) { CNAS_CAS_1X_POWER_OFF_REQ_STRU *pstPowerOffReq = VOS_NULL_PTR; /* 分配消息 */ pstPowerOffReq = (CNAS_CAS_1X_POWER_OFF_REQ_STRU *)PS_ALLOC_MSG(UEPS_PID_XSD, sizeof(CNAS_CAS_1X_POWER_OFF_REQ_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstPowerOffReq) { return; } /* 填充消息 */ pstPowerOffReq->ulReceiverPid = UEPS_PID_1XCASM; pstPowerOffReq->enMsgId = ID_CNAS_CAS_1X_POWER_OFF_REQ; pstPowerOffReq->usOpId = 0; CNAS_MNTN_LogMsgInfo((MSG_HEADER_STRU*)pstPowerOffReq); /* 发送消息 */ (VOS_VOID)PS_SEND_MSG(UEPS_PID_XSD, pstPowerOffReq); NAS_TRACE_HIGH("Send Msg!"); }
VOS_VOID CNAS_XCC_SndApsAnswerDataCallCnf( VOS_UINT8 ucCallId, TAF_XCC_CAUSE_ENUM_UINT32 enRslt ) { XCC_APS_ANSWER_DATA_CALL_CNF_STRU *pstMsg = VOS_NULL_PTR; pstMsg = (XCC_APS_ANSWER_DATA_CALL_CNF_STRU *)PS_ALLOC_MSG_WITH_HEADER_LEN(UEPS_PID_XCC, sizeof(XCC_APS_ANSWER_DATA_CALL_CNF_STRU)); if (VOS_NULL_PTR == pstMsg) { return; } NAS_MEM_SET_S((VOS_UINT8*)pstMsg + VOS_MSG_HEAD_LENGTH, sizeof(XCC_APS_ANSWER_DATA_CALL_CNF_STRU) - VOS_MSG_HEAD_LENGTH, 0, sizeof(XCC_APS_ANSWER_DATA_CALL_CNF_STRU) - VOS_MSG_HEAD_LENGTH); /* 填充消息 */ pstMsg->ulSenderCpuId = VOS_LOCAL_CPUID; pstMsg->ulSenderPid = UEPS_PID_XCC; pstMsg->ulReceiverCpuId = VOS_LOCAL_CPUID; pstMsg->ulReceiverPid = CNAS_CCB_ConvertPidBasedOnModemId(CNAS_CCB_GetCdmaModeModemId(), WUEPS_PID_TAF); pstMsg->ulLength = sizeof(XCC_APS_ANSWER_DATA_CALL_CNF_STRU) - VOS_MSG_HEAD_LENGTH; pstMsg->enMsgId = ID_XCC_APS_ANSWER_DATA_CALL_CNF; pstMsg->usOpId = 0; pstMsg->ucCallId = ucCallId; pstMsg->enRslt = enRslt; CNAS_MNTN_LogMsgInfo((MSG_HEADER_STRU*)pstMsg); /* 发送消息 */ (VOS_VOID)PS_SEND_MSG(UEPS_PID_XCC, pstMsg); }
VOS_UINT32 APP_VC_SendPhyTestModeNotify( CALL_VC_RADIO_MODE_ENUM_U8 enMode ) { VC_PHY_TEST_MODE_NOTIFY_STRU *pstMsg; /* 申请消息 */ pstMsg = (VC_PHY_TEST_MODE_NOTIFY_STRU *)PS_ALLOC_MSG(WUEPS_PID_VC, sizeof(VC_PHY_TEST_MODE_NOTIFY_STRU) - VOS_MSG_HEAD_LENGTH); if (VOS_NULL_PTR == pstMsg) { return VOS_ERR; } /* 不同接入模式,需要发送不同的测试模式消息给物理层,当前的测试模式 只有G DSP需要,所以目前的实现是只发送给GDSP,其他场景直接返回,后面 其他模的DSP有需要的时候再添加 */ if (CALL_VC_MODE_GSM == enMode) { pstMsg->usMsgName = ID_VC_GPHY_TEST_MODE_NOTIFY; pstMsg->ulReceiverPid = DSP_PID_GPHY; } else { PS_FREE_MSG(WUEPS_PID_VC, pstMsg); return VOS_OK; } if (VOS_OK != PS_SEND_MSG(WUEPS_PID_VC, pstMsg)) { VC_WARN_LOG("APP_VC_SendPhyTestModeNotify():WARNING:SEND MSG FIAL"); } return VOS_OK; }