VOS_VOID TAF_SPM_GetCallInfoFromFsmEntryMsg( MN_CALL_CALLED_NUM_STRU *pstDialNumber, MN_CALL_TYPE_ENUM_U8 *penCallType, MN_CALL_MODE_ENUM_U8 *penCallMode, MN_CALL_CS_DATA_CFG_STRU *pstDataCfg ) { MN_APP_REQ_MSG_STRU *pstAppMsg = VOS_NULL_PTR; MN_APP_CALL_CALLORIG_REQ_STRU *pstStkOrigParam = VOS_NULL_PTR; TAF_SPM_ENTRY_MSG_STRU *pstEntryMsg = VOS_NULL_PTR; MN_CALL_APP_REQ_PARM_UNION *pstAtOrigParam = VOS_NULL_PTR; NAS_CC_IE_BC_STRU stBc1CallCnf; pstEntryMsg = TAF_SPM_GetCurrEntityFsmEntryMsgAddr(); pstAppMsg = (MN_APP_REQ_MSG_STRU *)pstEntryMsg->aucEntryMsgBuffer; /* 区分AT或STK的 */ if (WUEPS_PID_AT == TAF_SPM_GetCurrEntityFsmEntryMsgSndPid()) { pstAtOrigParam = (MN_CALL_APP_REQ_PARM_UNION *)pstAppMsg->aucContent; *penCallType = pstAtOrigParam->stOrig.enCallType; *penCallMode = pstAtOrigParam->stOrig.enCallMode; PS_MEM_CPY(pstDialNumber, &pstAtOrigParam->stOrig.stDialNumber, sizeof(pstAtOrigParam->stOrig.stDialNumber)); PS_MEM_CPY(pstDataCfg, &pstAtOrigParam->stOrig.stDataCfg, sizeof(pstAtOrigParam->stOrig.stDataCfg)); } else { pstStkOrigParam = (MN_APP_CALL_CALLORIG_REQ_STRU *)pstAppMsg; *penCallType = pstStkOrigParam->enCallType; *penCallMode = MN_CALL_MODE_SINGLE; PS_MEM_CPY(pstDialNumber, (MN_CALL_CALLED_NUM_STRU *)&pstStkOrigParam->stCalledAddr, sizeof(pstStkOrigParam->stCalledAddr)); stBc1CallCnf.IsExist = VOS_TRUE; stBc1CallCnf.LastOctOffset = (VOS_UINT8)pstStkOrigParam->stBc.ucLen; PS_MEM_CPY(&stBc1CallCnf.Octet3, pstStkOrigParam->stBc.aucBc, pstStkOrigParam->stBc.ucLen); MN_CALL_GetDataCfgInfoFromBc(&stBc1CallCnf, (MN_CALL_CS_DATA_CFG_INFO_STRU *)pstDataCfg); } return; }
VOS_VOID TAF_SPM_SaveCurrEntityFsmEntryMsg( VOS_UINT32 ulEventType, struct MsgCB *pstMsg ) { TAF_SPM_ENTRY_MSG_STRU *pstEntryMsg = VOS_NULL_PTR; MSG_HEADER_STRU *pstMsgHeader = VOS_NULL_PTR; VOS_UINT32 ulLen; /* 获得当前处理入口消息的缓冲区地址 */ /* 获得当前处理SPM入口消息的缓冲区地址 */ pstEntryMsg = TAF_SPM_GetCurrEntityFsmEntryMsgAddr(); pstMsgHeader = (MSG_HEADER_STRU*)pstMsg; ulLen = pstMsgHeader->ulLength + VOS_MSG_HEAD_LENGTH; /* 将当前处理的入口消息拷贝到Context对应的缓冲区 */ PS_MEM_CPY( pstEntryMsg->aucEntryMsgBuffer, pstMsg, ulLen ); /* 填写Context中的参数 */ pstEntryMsg->ulEventType = ulEventType; return; }