VOS_UINT32 ADS_UL_RcvCdsStopSendDataInd(MsgBlock *pMsg) { VOS_UINT8 ucInstanceIndex; VOS_UINT8 ucRabId; CDS_ADS_STOP_SENDDATA_IND_STRU *pstStopSendDataIndMsg; pstStopSendDataIndMsg = (CDS_ADS_STOP_SENDDATA_IND_STRU *)(pMsg); ucInstanceIndex = (VOS_UINT8)pstStopSendDataIndMsg->enModemId; ucRabId = pstStopSendDataIndMsg->ucRabId; /* 将对应是否允许发送的标志置为VOS_FALSE */ ADS_UL_SET_RAB_SND_PERMIT_FLAG(ucInstanceIndex, ucRabId, VOS_FALSE); /* 判断该modem的所有RAB都不允许发送 */ if (VOS_FALSE == ADS_UL_GetSpecInstanceSndPermitFlg(ucInstanceIndex)) { ADS_UL_SET_MODEM_SND_PERMIT_FLAG(ucInstanceIndex, VOS_FALSE); } /* 所有承载都不允许发送,停止ADS_UL_SEND_TIMER定时器 */ if (VOS_TRUE == ADS_UL_IsAllRabNotSndPermitFlg()) { ADS_StopTimer(ACPU_PID_ADS_UL, TI_ADS_UL_SEND, ADS_TIMER_STOP_CAUSE_USER); } /* 回复ID_CDS_ADS_STOP_SENDDATA_RSP消息 */ ADS_UL_SendCdsStopSendDataRsp(pstStopSendDataIndMsg->enModemId, pstStopSendDataIndMsg->ucRabId); return VOS_OK; }
/***************************************************************************** 函 数 名 : ADS_UL_IsAllRabNotSndPermitFlg 功能描述 : 判断是否所有的RAB都不允许发送,如果是返回VOS_TRUE,否则返回VOS_FALSE 输入参数 : VOS_VOID 输出参数 : 无 返 回 值 : VOS_UINT32 调用函数 : 被调函数 : 修改历史 : 1.日 期 : 2012年11月27日 作 者 : l60609 修改内容 : 新生成函数 *****************************************************************************/ VOS_UINT32 ADS_UL_IsAllRabNotSndPermitFlg(VOS_VOID) { VOS_UINT8 i; /* 查找两个实例 */ for (i = 0; i < ADS_INSTANCE_MAX_NUM; i++) { if (VOS_TRUE == ADS_UL_GetSpecInstanceSndPermitFlg(i)) { return VOS_FALSE; } } return VOS_TRUE; }