VOS_VOID NAS_COMM_Print ( VOS_CHAR *pcBuff, VOS_UINT16 usLen ) { /* delay begin */ PS_LOG_RETURN(); /* delay end */ /* 入参检查 */ if ( VOS_NULL_PTR == pcBuff ) { NAS_COMM_LOG_ERR("NAS_COMM_Print, Input param is NULL pointer!"); return; } /* 需要预留一个字符作为结束符 */ if ( usLen >= NAS_COMM_PRINT_BUFF_LEN ) { NAS_COMM_LOG1_WARN("NAS_COMM_Print,usLen=", usLen); return; } else { pcBuff[usLen] = '\0'; NAS_COMM_LOG_NORM(pcBuff); return; } }
/*lint -e961*/ VOS_VOID NAS_COMM_nsprintf ( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, const VOS_CHAR *String, VOS_INT32 *pilOutLen ) { /* delay begin */ PS_LOG_RETURN(); /* delay end */ /* 入参检查 */ if ( VOS_NULL_PTR == pilOutLen ) { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf, pilOutLen is NULL pointer!"); TLPS_PRINT2LAYER_ERROR(NAS_COMM_nsprintf_ENUM, LNAS_FUNCTION_LABEL1); return; } if ( VOS_NULL_PTR == pcBuff ) { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf, pcBuff is NULL pointer!"); TLPS_PRINT2LAYER_ERROR(NAS_COMM_nsprintf_ENUM, LNAS_FUNCTION_LABEL2); *pilOutLen = 0; return; } if ( VOS_NULL_PTR == String ) { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf, String is NULL pointer!"); TLPS_PRINT2LAYER_ERROR(NAS_COMM_nsprintf_ENUM, LNAS_FUNCTION_LABEL3); *pilOutLen = 0; return; } if ((NAS_COMM_PRINT_BUFF_LEN - 2) >= usOffset ) { /* 需要预留一个字符作为结束符 */ *pilOutLen = VOS_nsprintf(pcBuff + usOffset, (NAS_COMM_PRINT_BUFF_LEN - 1) - usOffset, String); if( (0 == *pilOutLen) || (PS_NEG_ONE == *pilOutLen) ) { NAS_COMM_LOG1_WARN("NAS_COMM_nsprintf, *pilOutLen=", *pilOutLen); TLPS_PRINT2LAYER_WARNING1(NAS_COMM_nsprintf_ENUM, LNAS_FUNCTION_LABEL4, *pilOutLen); *pilOutLen = 0; return; } } else { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf, Print too long!"); TLPS_PRINT2LAYER_ERROR(NAS_COMM_nsprintf_ENUM, LNAS_FUNCTION_LABEL5); *pilOutLen = 0; return; } }
/***************************************************************************** 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_VOID NAS_COMM_nsprintf_3( VOS_CHAR *pcBuff, VOS_UINT16 usOffset, const VOS_CHAR *String, VOS_UINT32 para1, VOS_UINT32 para2, VOS_UINT32 para3, VOS_INT32 *pilOutLen ) { /* delay begin */ PS_LOG_RETURN(); /* delay end */ /* 入参检查 */ if ( VOS_NULL_PTR == pilOutLen ) { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf_3, pilOutLen is NULL pointer!"); return; } if ( VOS_NULL_PTR == pcBuff ) { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf_3, pcBuff is NULL pointer!"); *pilOutLen = 0; return; } if ( VOS_NULL_PTR == String ) { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf_3, String is NULL pointer!"); *pilOutLen = 0; return; } if ((NAS_COMM_PRINT_BUFF_LEN - 2)>= usOffset ) { /* 需要预留一个字符作为结束符 */ *pilOutLen = VOS_nsprintf(pcBuff + usOffset, (NAS_COMM_PRINT_BUFF_LEN - 1) - usOffset, String, para1, para2, para3); if( (0 == *pilOutLen) || (PS_NEG_ONE == *pilOutLen) ) { NAS_COMM_LOG1_WARN("NAS_COMM_nsprintf_3,*pilOutLen=", *pilOutLen); *pilOutLen = 0; return; } } else { NAS_COMM_LOG_ERR("NAS_COMM_nsprintf_3, Print too long!"); *pilOutLen = 0; return; } }
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); }