VOS_VOID FC_GPRS_FcNotifyProcess( VOS_VOID ) { /* 根据当前最新GPRS流控状态启停流控 */ if (R_ITF_FLOW_CTRL_START == g_stRItfFlowCtrl.ulGprsCtrlFlag) { R_ITF_SetGprsFlowCtrl(); } else { R_ITF_StopGprsFlowCtrl(); } }
/****************************************************************************** Prototype : R_ITF_ExcFlowCtrl Description : 执行流控 Input : ulFlowCtrlType -- 流控类型 ulNewLev -- 该流控类型的最新值 ulFlowCtrlCmd -- 流控指令,启动或停止 Output : Return Value : Calls : Called By : History : --- 1.Date : 2011-04-14 Modification: Created function ******************************************************************************/ VOS_UINT32 R_ITF_ExcFlowCtrl ( R_ITF_FLOW_CTRL_CMD_ENUM_UINT32 ulFlowCtrlCmd, VOS_UINT32 ulFlowCtrlType, VOS_UINT32 *pulNeedTrace ) { VOS_UINT32 ulResult = VOS_OK; if ( R_ITF_FLOW_CTRL_START == ulFlowCtrlCmd ) { /* PS融合后, 这里只监测内存, 而其余监测对象全部统一到FC的框架下 */ if ((R_ITF_FLOW_CTRL_TYPE_MEM_CNT == ulFlowCtrlType) || (R_ITF_FLOW_CTRL_TYPE_MEM_SIZE == ulFlowCtrlType)) { ulResult = R_ITF_SetGprsFlowCtrl(); /* 调用流控函数 */ *pulNeedTrace = PS_TRUE; } } else if ( R_ITF_FLOW_CTRL_STOP == ulFlowCtrlCmd ) { /* PS融合后, 这里只监测内存, 而其余监测对象全部统一到FC的框架下 */ if ((R_ITF_FLOW_CTRL_TYPE_MEM_CNT == ulFlowCtrlType) || (R_ITF_FLOW_CTRL_TYPE_MEM_SIZE == ulFlowCtrlType)) { ulResult = R_ITF_StopGprsFlowCtrl(); /* 调用流控解除函数 */ *pulNeedTrace = PS_TRUE; } } else { LogPrint1("R_ITF_ExcFlowCtrl, WARNING, Unknow flow control command %u\r\n", (VOS_INT32)ulFlowCtrlCmd); return VOS_ERR; } return ulResult; }