/*lint -e960*/ VOS_VOID NAS_EMM_EsmSendEstCnf (EMM_ESM_ATTACH_STATUS_ENUM_UINT32 ucEstRst) { EMM_ESM_EST_CNF_STRU *pEmmEsmEstCnfMsg; /*申请消息内存*/ pEmmEsmEstCnfMsg = (VOS_VOID *)NAS_LMM_ALLOC_MSG(sizeof(EMM_ESM_EST_CNF_STRU)); /*判断申请结果,若失败打印错误并退出*/ if (NAS_EMM_NULL_PTR == pEmmEsmEstCnfMsg) { /*打印错误*/ NAS_EMM_ATTACH_LOG_ERR("NAS_EMM_EsmSendEstCnf: MSG ALLOC ERR!"); return; } /*构造ID_EMM_ESM_EST_CNF消息*/ /*填充消息头*/ NAS_EMM_COMP_AD_ESM_MSG_HEADER( pEmmEsmEstCnfMsg, (sizeof(EMM_ESM_EST_CNF_STRU)- NAS_EMM_LEN_VOS_MSG_HEADER)); /*填充消息ID*/ pEmmEsmEstCnfMsg->ulMsgId = ID_EMM_ESM_EST_CNF; /*填充消息内容*/ pEmmEsmEstCnfMsg->ulEstRst = ucEstRst; /*向ESM发送ID_EMM_ESM_EST_CNF消息*/ NAS_LMM_SEND_MSG( pEmmEsmEstCnfMsg); return; }
VOS_VOID NAS_EMM_EsmSendDataInd (const NAS_EMM_CN_MSGCON_STRU *pstEsmBearerReq) { EMM_ESM_DATA_IND_STRU *pEmmEsmBearerReqMsg; VOS_UINT32 ulEsmMsgLen; VOS_UINT32 ulDataIndLenNoHeader; ulEsmMsgLen = pstEsmBearerReq->ulMsgLen; ulDataIndLenNoHeader = NAS_EMM_CountEsmDataIndLen(ulEsmMsgLen); /*申请消息内存*/ if (ulEsmMsgLen < 4) { pEmmEsmBearerReqMsg = (VOS_VOID *)NAS_LMM_ALLOC_MSG(sizeof(EMM_ESM_DATA_IND_STRU)); } else { pEmmEsmBearerReqMsg = (VOS_VOID *)NAS_LMM_ALLOC_MSG( ulDataIndLenNoHeader + NAS_EMM_LEN_VOS_MSG_HEADER); } /*判断申请结果,若失败打印错误并退出*/ if (NAS_EMM_NULL_PTR == pEmmEsmBearerReqMsg) { /*打印错误*/ NAS_EMM_ATTACH_LOG_ERR("NAS_EMM_EsmSendDataInd: MSG ALLOC ERR!"); return; } /*构造ID_EMM_ESM_DATA_IND消息*/ /*填充消息头*/ NAS_EMM_COMP_AD_ESM_MSG_HEADER(pEmmEsmBearerReqMsg, ulDataIndLenNoHeader); /*填充消息ID*/ pEmmEsmBearerReqMsg->ulMsgId = ID_EMM_ESM_DATA_IND; /*填充消息内容*/ pEmmEsmBearerReqMsg->stEsmMsg.ulEsmMsgSize = pstEsmBearerReq->ulMsgLen; NAS_LMM_MEM_CPY( pEmmEsmBearerReqMsg->stEsmMsg.aucEsmMsg, pstEsmBearerReq->aucMsg, pstEsmBearerReq->ulMsgLen); /*向ESM发送ID_EMM_ESM_DATA_IND消息*/ NAS_LMM_SEND_MSG( pEmmEsmBearerReqMsg); return; }
/*lint -e960*/ VOS_VOID NAS_EMM_EsmSendPdnConnInd(VOS_UINT32 ulCid) { EMM_ESM_PDN_CON_IND_STRU *pEmmEsmPdnIndMsg; /*申请消息内存*/ pEmmEsmPdnIndMsg = (VOS_VOID *)NAS_LMM_ALLOC_MSG(sizeof(EMM_ESM_PDN_CON_IND_STRU)); /*判断申请结果,若失败退出*/ if (NAS_EMM_NULL_PTR == pEmmEsmPdnIndMsg) { return; } /*构造ID_EMM_ESM_PDN_CON_IND消息*/ /*填充消息头*/ NAS_EMM_COMP_AD_ESM_MSG_HEADER( pEmmEsmPdnIndMsg, (sizeof(EMM_ESM_PDN_CON_IND_STRU)- NAS_EMM_LEN_VOS_MSG_HEADER)); /*填充消息ID*/ pEmmEsmPdnIndMsg->ulMsgId = ID_EMM_ESM_PDN_CON_IND; /*填充消息内容*/ pEmmEsmPdnIndMsg->ulCId = ulCid; if(MMC_LMM_ATT_REASON_HANDOVER == NAS_LMM_GetEmmInfoMmcAttachReason()) { pEmmEsmPdnIndMsg->enPdnReqType = EMM_ESM_PDN_CON_REQ_TYPE_HANDOVER; } else { pEmmEsmPdnIndMsg->enPdnReqType = EMM_ESM_PDN_CON_REQ_TYPE_INITIAL; } /*向ESM发送ID_EMM_ESM_PDN_CON_IND消息*/ NAS_LMM_SEND_MSG( pEmmEsmPdnIndMsg); return; }