/***************************************************************************** Function Name : NAS_COMM_PrintSmEsmMsg Description : 打印收到OM消息(文件内部调用函数) Input : pcBuff -- Formatted buffer usOffset -- Offset enMsgId -- EMM_ESM_MSG_TYPE_ENUM_UINT32 Output : None Return : The number of bytes that have been stored in the output buffer pcBuff If the input parameter is erroneous, the return value will be 0. History : 1.lihong00150010 2011-05-02 Draft Enact *****************************************************************************/ VOS_INT32 NAS_COMM_PrintOmEsmMsg ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, const PS_MSG_HEADER_STRU *pstMsg ) { VOS_UINT32 ulLoop; VOS_UINT32 ulOmEsmMsgNum; VOS_INT32 ilOutPutLen = 0; VOS_UINT16 usTotalLen = usOffset; /* delay begin */ PS_LOG_RETURN_SUCC(); /* delay end */ ulOmEsmMsgNum = sizeof(g_astOmEsmMsgIdArray)/sizeof(NAS_COMM_PRINT_MSG_LIST_STRU); for (ulLoop = 0; ulLoop < ulOmEsmMsgNum; ulLoop++) { if (pstMsg->ulMsgName == g_astOmEsmMsgIdArray[ulLoop].ulId) { break; } } if ( ulLoop < ulOmEsmMsgNum ) { NAS_COMM_nsprintf( pcBuff, usTotalLen, (VOS_CHAR *)(g_astOmEsmMsgIdArray[ulLoop].aucPrintString), &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; NAS_COMM_nsprintf_1(pcBuff, usTotalLen, "[ TICK : %ld ]", PS_GET_TICK(), &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; if (VOS_NULL_PTR != g_astOmEsmMsgIdArray[ulLoop].pfActionFun) { ilOutPutLen = g_astOmEsmMsgIdArray[ulLoop].pfActionFun(pcBuff, usTotalLen, pstMsg); } usTotalLen += (VOS_UINT16)ilOutPutLen; } else { NAS_COMM_LOG1_WARN("NAS_COMM_PrintOmEsmMsg, Invalid enMsgId: ", pstMsg->ulMsgName); } return (usTotalLen - usOffset); }
VOS_INT32 NAS_COMM_PrintEsmRabmDeactIndMsg ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, const PS_MSG_HEADER_STRU *pstMsg ) { VOS_INT32 ilOutPutLen = 0; VOS_UINT16 usTotalLen = usOffset; VOS_UINT32 ulLoop = 0; ESM_ERABM_DEACT_IND_STRU *pstRcvMsg = VOS_NULL_PTR; /* delay begin */ PS_LOG_RETURN_SUCC(); /* delay end */ pstRcvMsg = (VOS_VOID *)pstMsg; /* 打印消息结构标题 */ NAS_COMM_nsprintf(pcBuff, usTotalLen, "\r\n ****************Begin :ESM_ERABM_DEACT_IND_STRU****************\r\n", &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; /* 打印消息的每个数据*/ NAS_COMM_nsprintf_1(pcBuff, usTotalLen, " ulEpsIdNum = %d \r\n", pstRcvMsg->ulEpsIdNum, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; for (ulLoop = 0; ulLoop < pstRcvMsg->ulEpsIdNum; ulLoop++) { NAS_COMM_nsprintf_2(pcBuff, usTotalLen, " aulEpsId[%d] = %d \r\n", ulLoop, pstRcvMsg->aulEpsId[ulLoop], &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; } /* 打印消息的结束标题*/ NAS_COMM_nsprintf(pcBuff, usTotalLen, " ****************End :ESM_ERABM_DEACT_IND_STRU****************", &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; return (usTotalLen - usOffset) ; }
VOS_INT32 NAS_COMM_PrintRabmTcMsg ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, ETC_ERABM_MSG_TYPE_ENUM_UINT32 enMsgId ) { VOS_UINT32 ulLoop; VOS_UINT32 ulRabmTcMsgNum; VOS_INT32 ilOutPutLen = 0; VOS_UINT16 usTotalLen = usOffset; /* delay begin */ PS_LOG_RETURN_SUCC(); /* delay end */ /* 获得消息表的长度 */ ulRabmTcMsgNum = sizeof(g_astRabmTcMsgIdArray)/sizeof(NAS_COMM_PRINT_MSG_LIST_STRU); /* 查找对应的消息 */ for (ulLoop = 0; ulLoop< ulRabmTcMsgNum ; ulLoop++) { if (enMsgId == g_astRabmTcMsgIdArray[ulLoop].ulId) { break; } } /* 打印对应的消息 */ if ( ulLoop < ulRabmTcMsgNum ) { NAS_COMM_nsprintf(pcBuff, usTotalLen, (VOS_CHAR *)(g_astRabmTcMsgIdArray[ulLoop].aucPrintString), &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; NAS_COMM_nsprintf_1(pcBuff, usTotalLen, "[ TICK : %ld ]", PS_GET_TICK(), &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; } else { NAS_COMM_LOG1_WARN("NAS_COMM_PrintRabmTcMsg, Invalid enMsgId: ",enMsgId); TLPS_PRINT2LAYER_WARNING1(NAS_COMM_PrintRabmTcMsg_ENUM, LNAS_FUNCTION_LABEL1, enMsgId); } return (usTotalLen - usOffset); }
VOS_INT32 NAS_COMM_PrintMmRabmMsg ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, EMM_ERABM_MSG_TYPE_ENUM_UINT32 enMsgId ) { VOS_UINT32 ulLoop; VOS_UINT32 ulMmRabmMsgNum; VOS_INT32 ilOutPutLen = 0; VOS_UINT16 usTotalLen = usOffset; /* delay begin */ PS_LOG_RETURN_SUCC(); /* delay end */ ulMmRabmMsgNum = sizeof(g_astMmRabmMsgIdArray)/sizeof(NAS_COMM_PRINT_MSG_LIST_STRU); for (ulLoop = 0; ulLoop < ulMmRabmMsgNum; ulLoop++) { if (g_astMmRabmMsgIdArray[ulLoop].ulId == enMsgId) { break; } } if ( ulLoop < ulMmRabmMsgNum ) { NAS_COMM_nsprintf( pcBuff, usTotalLen, (VOS_CHAR *)(g_astMmRabmMsgIdArray[ulLoop].aucPrintString), &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; NAS_COMM_nsprintf_1(pcBuff, usTotalLen, "[ TICK : %ld ]", PS_GET_TICK(), &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; } else { NAS_COMM_LOG1_WARN("NAS_COMM_PrintMmRabmMsg, Invalid enMsgId: ", enMsgId); } return (usTotalLen - usOffset); }
VOS_INT32 NAS_COMM_PrintMmEsmBearerStatusReqOrInd ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, const PS_MSG_HEADER_STRU *pstMsg ) { VOS_INT32 ilOutPutLen = 0; VOS_UINT16 usTotalLen = usOffset; VOS_UINT32 ulLoop = 0; VOS_CHAR *pcPrintStr = VOS_NULL_PTR; EMM_ESM_BEARER_STATUS_REQ_STRU *pstRcvMsg = VOS_NULL_PTR; /* delay begin */ PS_LOG_RETURN_SUCC(); /* delay end */ pstRcvMsg = (VOS_VOID *)pstMsg; if (ID_EMM_ESM_BEARER_STATUS_REQ == pstRcvMsg->ulMsgId) { pcPrintStr = "\r\n ****************Begin :EMM_ESM_BEARER_STATUS_REQ_STRU****************\r\n"; } else { pcPrintStr = "\r\n ****************Begin :EMM_ESM_BEARER_STATUS_IND_STRU****************\r\n"; } /* 打印消息结构标题 */ NAS_COMM_nsprintf(pcBuff, usTotalLen, pcPrintStr, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; /* 打印消息的每个数据*/ NAS_COMM_nsprintf_1(pcBuff, usTotalLen, " ulEpsIdNum = %d \r\n", pstRcvMsg->ulEpsIdNum, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; for (ulLoop = 0; ulLoop < pstRcvMsg->ulEpsIdNum; ulLoop++) { NAS_COMM_nsprintf_2(pcBuff, usTotalLen, " aulEpsId[%d] = %d \r\n", ulLoop, pstRcvMsg->aulEsmEpsId[ulLoop], &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; } if (ID_EMM_ESM_BEARER_STATUS_REQ == pstRcvMsg->ulMsgId) { pcPrintStr = " ****************End :EMM_ESM_BEARER_STATUS_REQ_STRU****************"; } else { pcPrintStr = " ****************End :EMM_ESM_BEARER_STATUS_IND_STRU****************"; } /* 打印消息的结束标题*/ NAS_COMM_nsprintf(pcBuff, usTotalLen, pcPrintStr, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; return (usTotalLen - usOffset) ; }
VOS_INT32 NAS_COMM_PrintEsmRabmActIndOrModIndMsg ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, const PS_MSG_HEADER_STRU *pstMsg ) { VOS_INT32 ilOutPutLen = 0; VOS_UINT16 usTotalLen = usOffset; VOS_CHAR *pcPrintStr = VOS_NULL_PTR; ESM_ERABM_ACT_IND_STRU *pstRcvMsg = VOS_NULL_PTR; /* delay begin */ PS_LOG_RETURN_SUCC(); /* delay end */ pstRcvMsg = (VOS_VOID *)pstMsg; if (ID_ESM_ERABM_ACT_IND == pstRcvMsg->ulMsgId) { pcPrintStr = "\r\n ****************Begin :ESM_ERABM_ACT_IND_STRU****************\r\n"; } else { pcPrintStr = "\r\n ****************Begin :ESM_ERABM_MDF_IND_STRU****************\r\n"; } /* 打印消息结构标题 */ NAS_COMM_nsprintf(pcBuff, usTotalLen, pcPrintStr, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; /* 打印消息的每个数据*/ NAS_COMM_nsprintf_1(pcBuff, usTotalLen, " ulEpsId = %d \r\n", pstRcvMsg->ulEpsId, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; NAS_COMM_nsprintf_1(pcBuff, usTotalLen, " ulTftPfNum = %d \r\n", pstRcvMsg->ulTftPfNum, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; /* 打印消息的结束标题*/ if (ID_ESM_ERABM_ACT_IND == pstRcvMsg->ulMsgId) { pcPrintStr = " ****************End :ESM_ERABM_ACT_IND_STRU****************"; } else { pcPrintStr = " ****************End :ESM_ERABM_MDF_IND_STRU****************"; } NAS_COMM_nsprintf(pcBuff, usTotalLen, pcPrintStr, &ilOutPutLen); usTotalLen += (VOS_UINT16)ilOutPutLen; return (usTotalLen - usOffset) ; }