VOS_VOID NAS_SMS_SndOmInquireCnfMsg( ID_NAS_OM_INQUIRE_STRU *pstOmInquireMsg ) { ID_NAS_OM_CNF_STRU *pstSmsOmCnf ; pstSmsOmCnf = VOS_NULL_PTR; pstSmsOmCnf = (ID_NAS_OM_CNF_STRU *)PS_MEM_ALLOC(WUEPS_PID_SMS, (sizeof(ID_NAS_OM_CNF_STRU) + sizeof(NAS_OM_SMS_CONFIRM_STRU)) - NAS_OM_DATA_PTR_LEN); /* 申请内存 */ if (VOS_NULL_PTR == pstSmsOmCnf) { NAS_ERROR_LOG(WUEPS_PID_SMS, "NAS_MMC_SndOmInquireCnfMsg:Memory Allocate fail!"); return; } PS_MEM_SET((VOS_INT8*)pstSmsOmCnf, 0 ,sizeof(ID_NAS_OM_CNF_STRU)); pstSmsOmCnf->ucFuncType = 4; pstSmsOmCnf->ucReserve = 0; pstSmsOmCnf->usLength = NAS_OM_DATA_OFFSET + sizeof(NAS_OM_SMS_CONFIRM_STRU); pstSmsOmCnf->ulSn = 0; pstSmsOmCnf->ulTimeStamp = OM_GetSlice(); pstSmsOmCnf->usPrimId = ID_NAS_OM_SMS_CONFIRM; pstSmsOmCnf->usToolsId = pstOmInquireMsg->usToolsId; NAS_SMS_BuildSmsOmInfo((NAS_OM_SMS_CONFIRM_STRU*)(pstSmsOmCnf->aucData)); OM_SendData( (OM_RSP_PACKET_STRU*)pstSmsOmCnf, (sizeof(ID_NAS_OM_CNF_STRU) + sizeof(NAS_OM_SMS_CONFIRM_STRU)) - NAS_OM_DATA_PTR_LEN ); /* 原语发送 */ PS_MEM_FREE(WUEPS_PID_SMS, pstSmsOmCnf); }
BST_VOID BST_SYS_MntnTrigReport( BST_VOID ) { OM_BST_MSG_STRU *pstBstOmIndMsg; OM_BST_AGENT_APP_NUM_STRU *pstBstAppNum; BST_UINT32 ulRslt; BST_UINT32 ulLength; BST_UINT16 usAppNum; OM_BST_APP_INFO_STRU *pstAppInfo; ulRslt = BST_TRUE; /* 申请的大小等于消息头BST_OM_MSG_STRU -4个字节的指针占位 + 实际代理信息大小 */ usAppNum = (BST_UINT16)BST_SYS_MNTN_GetAppNumber(); ulLength = (BST_OS_SIZEOF(OM_BST_MSG_STRU) - 4) + (BST_OS_SIZEOF(OM_BST_AGENT_APP_NUM_STRU)); pstBstOmIndMsg = (OM_BST_MSG_STRU *)BST_SYS_MntnGetSendExternalMsgBuffAddr(UEPS_PID_BASTET, ulLength); if (BST_NULL_PTR == pstBstOmIndMsg) { BST_DBG_LOG1("BST_SYS_MntnTrigReport, Agent Info Msg Alloc Mem Fail", 0); return; } /* 填写消息头 */ BST_SYS_MntnFillBstOmMsgHead( pstBstOmIndMsg, ulLength, ID_BST_OM_AGENT_INFO_IND, 0 ); pstBstAppNum = (OM_BST_AGENT_APP_NUM_STRU *)(pstBstOmIndMsg->aucData); pstBstAppNum->usAgentAppNum = usAppNum; pstAppInfo = ( (OM_BST_APP_INFO_STRU *)(pstBstAppNum->stBstAppList ) ); ulRslt = BST_SYS_MntnBuildAgentInfoInd( pstAppInfo, usAppNum ); if (BST_TRUE != ulRslt) { BST_DBG_LOG1("BST_SYS_MntnTrigReport, Get Bst Agent Info Error: ulRslt", ulRslt); return; } /* 发送IND消息 */ ulRslt = OM_SendData( (OM_RSP_PACKET_STRU *)pstBstOmIndMsg, (BST_UINT16)ulLength ); /* 释放传入的消息包 */ BST_FREE_MSG( UEPS_PID_BASTET, pstBstOmIndMsg ); if (VOS_OK != ulRslt) { BST_RLS_LOG1( "[Mntn] Send Maintain Message Fail:", ulRslt ); return; } BST_RLS_LOG( "[Mntn] Send Maintain Message Success" ); return; }