VOS_VOID NAS_ERABM_SndErabmCdsRabReleaseInd( VOS_UINT32 ulEpsbId ) { #if (VOS_OS_VER != VOS_WIN32) CDS_ERABM_RAB_RELEASE_IND_STRU *pstRabReleaseInd = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstRabReleaseInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(CDS_ERABM_RAB_RELEASE_IND_STRU)); if (VOS_NULL_PTR == pstRabReleaseInd) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndErabmCdsRabReleaseInd:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstRabReleaseInd), NAS_ERABM_NULL, NAS_ERABM_GET_MSG_LENGTH(pstRabReleaseInd)); /*赋值 EpsbId*/ pstRabReleaseInd->ucRabId = (VOS_UINT8)ulEpsbId; /*填写消息头*/ NAS_ERABM_WRITE_CDS_MSG_HEAD(pstRabReleaseInd,ID_QOS_FC_ERABM_RAB_RELEASE_IND); /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstRabReleaseInd); #endif }
VOS_VOID NAS_ERABM_SndErabmCdsFreeBuffDataInd( VOS_VOID ) { ERABM_CDS_FREE_BUFF_DATA_IND_STRU *pstFreeBuffDataInd = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstFreeBuffDataInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(ERABM_CDS_FREE_BUFF_DATA_IND_STRU)); if (VOS_NULL_PTR == pstFreeBuffDataInd) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndErabmCdsSndBuffDataInd:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstFreeBuffDataInd), NAS_ERABM_NULL, NAS_ERABM_GET_MSG_LENGTH(pstFreeBuffDataInd)); /*填写消息头*/ NAS_ERABM_WRITE_CDS_MSG_HEAD(pstFreeBuffDataInd,ID_ERABM_CDS_FREE_BUFF_DATA_IND); /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstFreeBuffDataInd); }
/***************************************************************************** Function Name : NAS_ERABM_SndRabmEmmResumeRsp Description : ESM模块回复ID_EMM_ERABM_RESUME_RSP消息 Input : EMM_ERABM_RSLT_TYPE_ENUM_UINT32 enRslt Output : None Return : VOS_VOID History : 1.lihong00150010 2011-05-03 Draft Enact *****************************************************************************/ VOS_VOID NAS_ERABM_SndRabmEmmResumeRsp ( EMM_ERABM_RSLT_TYPE_ENUM_UINT32 enRslt ) { EMM_ERABM_RESUME_RSP_STRU *pstRabmEmmResumeRsp = VOS_NULL_PTR; /*分配空间并检验分配是否成功*/ pstRabmEmmResumeRsp = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(EMM_ERABM_RESUME_RSP_STRU)); /*检测是否分配成功*/ if (VOS_NULL_PTR == pstRabmEmmResumeRsp) { /*打印异常信息*/ NAS_ERABM_ERR_LOG("NAS_ERABM_SndRabmEmmResumeRsp:ERROR:Alloc Msg fail!"); return ; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstRabmEmmResumeRsp), 0, NAS_ERABM_GET_MSG_LENGTH(pstRabmEmmResumeRsp)); /*填写消息头*/ NAS_ERABM_WRITE_EMM_MSG_HEAD(pstRabmEmmResumeRsp, ID_EMM_ERABM_RESUME_RSP); /*填写响应结果*/ pstRabmEmmResumeRsp->enRslt= enRslt; /*调用消息发送函数 */ NAS_ERABM_SND_MSG(pstRabmEmmResumeRsp); }
/*lint -e961*/ VOS_VOID NAS_ERABM_SndErabmCdsSndBuffDataInd ( CDS_ERABM_SEND_BUFF_DATA_ALLOWED_TYPE_ENUM_UINT32 enSndBuffDataAllowedType ) { ERABM_CDS_SEND_BUFF_DATA_IND_STRU *pstSndBuffDataInd = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstSndBuffDataInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(ERABM_CDS_SEND_BUFF_DATA_IND_STRU)); if (VOS_NULL_PTR == pstSndBuffDataInd) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndErabmCdsSndBuffDataInd:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstSndBuffDataInd), NAS_ERABM_NULL, NAS_ERABM_GET_MSG_LENGTH(pstSndBuffDataInd)); /*填写消息头*/ NAS_ERABM_WRITE_CDS_MSG_HEAD(pstSndBuffDataInd,ID_ERABM_CDS_SEND_BUFF_DATA_IND); pstSndBuffDataInd->enSndBuffDataAllowedType = enSndBuffDataAllowedType; /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstSndBuffDataInd); }
VOS_VOID NAS_ERABM_SndRabmEmmReestReq ( VOS_UINT32 ulIsEmcType ) { EMM_ERABM_REEST_REQ_STRU *pstReestReq = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstReestReq = (VOS_VOID*)NAS_ERABM_ALLOC_MSG( sizeof(EMM_ERABM_REEST_REQ_STRU)); if ( VOS_NULL_PTR == pstReestReq ) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndRabmEmmReestReq:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET(NAS_ERABM_GET_MSG_ENTITY(pstReestReq), NAS_ERABM_NULL,\ NAS_ERABM_GET_MSG_LENGTH(pstReestReq)); /*填写消息头*/ NAS_ERABM_WRITE_EMM_MSG_HEAD(pstReestReq, ID_EMM_ERABM_REEST_REQ); /* lihong00150010 emergency tau&service begin */ pstReestReq->ulIsEmcType = ulIsEmcType; /* lihong00150010 emergency tau&service end */ /* 调用消息发送函数 */ NAS_ERABM_SND_MSG(pstReestReq); }
/*lint -e960*/ VOS_VOID NAS_ERABM_SndIpRabmDataInd ( VOS_UINT8 ucEpsbId, const VOS_UINT8 *pucIpMsg, VOS_UINT32 ulIpMsgLen ) { IP_RABM_DATA_IND_STRU *pstDataInd = VOS_NULL_PTR; VOS_UINT32 ulTmpLength = NAS_ERABM_NULL; /*根据空口消息的长度分配空间*/ if( NAS_ERABM_NULL == ulIpMsgLen) { NAS_ERABM_WARN_LOG("NAS_ERABM_SndIpRabmDataInd: WARNING: Msg Length is zero"); return ; } else if(ulIpMsgLen > NAS_ERABM_MIN_SND_MSG_LEN) { ulTmpLength = ulIpMsgLen - NAS_ERABM_MIN_SND_MSG_LEN ; pstDataInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(IP_RABM_DATA_IND_STRU) + ulTmpLength); } else/*如果长度小于NAS_ERABM_MIN_SND_MSG_LEN,分配的空间等于NAS_ERABM_MIN_SND_MSG_LEN*/ { pstDataInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(IP_RABM_DATA_IND_STRU)); } if (VOS_NULL_PTR == pstDataInd) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndIpRabmDataInd:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstDataInd), NAS_ERABM_NULL, NAS_ERABM_GET_MSG_LENGTH(pstDataInd)); /*填写消息头*/ NAS_ERABM_WRITE_IP_MSG_HEAD(pstDataInd, ID_IP_RABM_DATA_IND); /* 填写消息内容 */ pstDataInd->ucEpsbId = ucEpsbId; pstDataInd->stIpMsg.ulIpMsgSize = ulIpMsgLen; /*lint -e669*/ NAS_ERABM_MEM_CPY( pstDataInd->stIpMsg.aucIpMsg, pucIpMsg, ulIpMsgLen); /*lint +e669*/ /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstDataInd); }
VOS_VOID NAS_ERABM_SndErabmCdsRabCreatInd( VOS_UINT32 ulEpsbId ) { #if (VOS_OS_VER != VOS_WIN32) CDS_ERABM_RAB_CREATE_IND_STRU *pstRabCreatInd = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstRabCreatInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(CDS_ERABM_RAB_CREATE_IND_STRU)); if (VOS_NULL_PTR == pstRabCreatInd) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndErabmCdsRabCreatInd:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstRabCreatInd), NAS_ERABM_NULL, NAS_ERABM_GET_MSG_LENGTH(pstRabCreatInd)); /* 赋值QCI */ pstRabCreatInd->enQci = NAS_ERABM_GetEpsbQCI(ulEpsbId); /*赋值 EpsbId及关联EPsbId */ pstRabCreatInd->ucRabId = (VOS_UINT8)ulEpsbId; if (ESM_ERABM_BEARER_TYPE_DEDICATED == NAS_ERABM_GetEpsbBearerType(ulEpsbId)) { pstRabCreatInd->ucLinkRabId = (VOS_UINT8)NAS_ERABM_GetEpsbLinkedEpsbId(ulEpsbId); } else { pstRabCreatInd->ucLinkRabId = pstRabCreatInd->ucRabId; } /*填写消息头*/ NAS_ERABM_WRITE_CDS_MSG_HEAD(pstRabCreatInd,ID_QOS_FC_ERABM_RAB_CREATE_IND); /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstRabCreatInd); #endif }
VOS_VOID NAS_ERABM_SndRabmEmmRelReq( VOS_VOID) { EMM_ERABM_REL_REQ_STRU *pstRelReq = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstRelReq = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(EMM_ERABM_REL_REQ_STRU)); if ( VOS_NULL_PTR == pstRelReq ) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndRabmEmmRelReq:ERROR:Alloc msg fail!" ); return; } NAS_ERABM_MEM_SET(NAS_ERABM_GET_MSG_ENTITY(pstRelReq), NAS_ERABM_NULL,\ NAS_ERABM_GET_MSG_LENGTH(pstRelReq)); /*填写消息头*/ NAS_ERABM_WRITE_EMM_MSG_HEAD(pstRelReq, ID_EMM_ERABM_REL_REQ); /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstRelReq); }
/***************************************************************************** Function Name : NAS_ERABM_SndRabmTcResumeInd Description : ERABM模块向ETC发送ID_ETC_ERABM_RESUME_IND消息 Input : None Output : None Return : VOS_VOID History : 1.lihong00150010 2011-05-03 Draft Enact *****************************************************************************/ VOS_VOID NAS_ERABM_SndRabmTcResumeInd( VOS_VOID ) { ETC_ERABM_RESUME_IND_STRU *pstRabmTcResumeInd = VOS_NULL_PTR; /*分配空间并检验分配是否成功*/ pstRabmTcResumeInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG(sizeof(ETC_ERABM_RESUME_IND_STRU)); /*检测是否分配成功*/ if (VOS_NULL_PTR == pstRabmTcResumeInd) { /*打印异常信息*/ NAS_ERABM_ERR_LOG("NAS_ERABM_SndRabmTcResumeInd:ERROR:Alloc Msg fail!"); return ; } /*清空*/ NAS_ERABM_MEM_SET( NAS_ERABM_GET_MSG_ENTITY(pstRabmTcResumeInd), 0, NAS_ERABM_GET_MSG_LENGTH(pstRabmTcResumeInd)); /*填写消息头*/ NAS_ERABM_WRITE_TC_MSG_HEAD(pstRabmTcResumeInd, ID_ETC_ERABM_RESUME_IND); /*调用消息发送函数 */ NAS_ERABM_SND_MSG(pstRabmTcResumeInd); }
VOS_VOID NAS_ERABM_SndRabmEmmDrbSetupInd( VOS_VOID ) { EMM_ERABM_DRB_SETUP_IND_STRU *pstDrbSetInd = VOS_NULL_PTR; /*分配空间和检测是否分配成功*/ pstDrbSetInd = (VOS_VOID*)NAS_ERABM_ALLOC_MSG( sizeof(EMM_ERABM_DRB_SETUP_IND_STRU)); if ( VOS_NULL_PTR == pstDrbSetInd ) { NAS_ERABM_ERR_LOG("NAS_ERABM_SndRabmEmmDrbSetupInd:ERROR:Alloc msg fail!" ); return; } /*清空*/ NAS_ERABM_MEM_SET(NAS_ERABM_GET_MSG_ENTITY(pstDrbSetInd), NAS_ERABM_NULL,\ NAS_ERABM_GET_MSG_LENGTH(pstDrbSetInd)); /*填写消息头*/ NAS_ERABM_WRITE_EMM_MSG_HEAD(pstDrbSetInd, ID_EMM_ERABM_DRB_SETUP_IND); /* 调用消息发送函数*/ NAS_ERABM_SND_MSG(pstDrbSetInd); }
VOS_VOID NAS_ERABM_ClearRabmResource( VOS_VOID ) { VOS_UINT8 ucTimerIndex = NAS_ERABM_NULL; VOS_UINT32 ulLoop = NAS_ERABM_NULL; VOS_UINT32 ulEpsbId = NAS_ERABM_NULL; APP_ESM_IP_ADDR_STRU *pstPdnAddr = VOS_NULL_PTR; /*打印进入该函数*/ NAS_ERABM_INFO_LOG("NAS_ERABM_ClearRabmResource is entered."); /* 停止已经启动的定时器 */ for (ucTimerIndex = 0; ucTimerIndex < NAS_NAS_ERABM_TIMER_NAME_BUTT; ucTimerIndex++) { NAS_ERABM_TimerStop(ucTimerIndex); } /* 如果存在激活承载,则通知CDS释放缓存的数据包,加上此判断是为了避免重复 通知CDS释放缓存数据包 */ if (0 != NAS_ERABM_GetActiveEpsBearerNum()) { /* 通知CDS释放缓存的数据包 */ NAS_ERABM_SndErabmCdsFreeBuffDataInd(); } /*初始化RABM实体*/ NAS_ERABM_MEM_SET((VOS_VOID*)NAS_ERABM_Entity(), NAS_ERABM_NULL, sizeof(NAS_ERABM_ENTITY_STRU)); /* 初始化RABM统计信息 */ NAS_ERABM_DebugInit(); /*设置SERVICE流程没有启动状态*/ NAS_ERABM_SetEmmSrState(NAS_ERABM_SERVICE_STATE_TERMIN); /*设置RABM没有等待EPS承载激活消息*/ NAS_ERABM_SetWaitEpsBActSign(NAS_ERABM_NOT_WAIT_EPSB_ACT_MSG); /*设置RRC请求建立RB的个数为0*/ NAS_ERABM_SetRbNumInfo(0); /*设置唯一激活且没有TFT的承载号为NAS_ERABM_ILL_EPSB_ID*/ NAS_ERABM_GetOnlyActiveAndNoUlTftEpsbId() = NAS_ERABM_ILL_EPSB_ID; /*设置不存在上行数据阻塞*/ NAS_ERABM_SetUpDataPending(EMM_ERABM_NO_UP_DATA_PENDING); /*初始化EPS承载列表*/ for (ulEpsbId = NAS_ERABM_MIN_EPSB_ID; ulEpsbId <= NAS_ERABM_MAX_EPSB_ID; ulEpsbId++) { pstPdnAddr = NAS_ERABM_GetEpsbPdnAddr(ulEpsbId); NAS_ERABM_SetEpsbIdInfo(ulEpsbId, ulEpsbId); NAS_ERABM_SetEpsbRbIdInfo(ulEpsbId, NAS_ERABM_ILL_RB_ID); NAS_ERABM_SetRbStateInfo(ulEpsbId, NAS_ERABM_RB_DISCONNECTED); NAS_ERABM_MEM_SET(pstPdnAddr, NAS_ERABM_NULL, sizeof(APP_ESM_IP_ADDR_STRU)); NAS_ERABM_ClearEpsbResource(ulEpsbId); } /*初始化RB建立临时表信息*/ for (ulLoop = 0; ulLoop < NAS_ERABM_MAX_EPSB_NUM; ulLoop++) { NAS_ERABM_SetRbSetupEpsbIdInfo(ulLoop, NAS_ERABM_ILL_EPSB_ID); NAS_ERABM_SetRbSetupRbIdInfo(ulLoop, NAS_ERABM_ILL_RB_ID); } /*初始化RABM灌包相关信息*/ NAS_ERABM_StAppDataBitIpv4(NAS_ERABM_OP_FALSE); NAS_ERABM_StAppDataBitIpv6(NAS_ERABM_OP_FALSE); NAS_ERABM_SetAppDataRmtPortIpv4(NAS_ERABM_NULL); NAS_ERABM_SetAppDataRmtPortIpv6(NAS_ERABM_NULL); NAS_ERABM_SetAppDataOperateType(APP_ERABM_DATA_TRANS_OPERATE_BUTT); NAS_ERABM_MEM_SET(NAS_ERABM_GetAppDataRemoteIpv4Addr(), NAS_ERABM_NULL,\ sizeof(NAS_ERABM_GetAppDataRemoteIpv4Addr())/sizeof(VOS_UINT8)); NAS_ERABM_MEM_SET(NAS_ERABM_GetAppDataRemoteIpv6Addr(), NAS_ERABM_NULL,\ sizeof(NAS_ERABM_GetAppDataRemoteIpv6Addr())/sizeof(VOS_UINT8)); NAS_ERABM_MEM_SET(NAS_ERABM_GET_IP_HEADER_BUFFER(), NAS_ERABM_NULL, NAS_ERABM_IP_HEADER_BUFFER_LEN); NAS_ERABM_MEM_SET( NAS_ERABM_GetIpv4SegBuffAddr(), NAS_ERABM_NULL, sizeof(NAS_ERABM_IPV4_SEGMENT_BUFF_STRU)); /* 清空下行FILTER配置 */ NAS_ERABM_MEM_SET( NAS_ERABM_IPF_GET_DL_FILTER_PTR(0), NAS_ERABM_NULL, (NAS_ERABM_IPF_MAX_DL_FILTER * sizeof(IPF_FILTER_CONFIG_S))); NAS_ERABM_IPF_SET_DL_FILTER_NUM(0); /* 初始化上行NDIS Filter有效 */ NAS_ERABM_SetUlNdisFilterValidFlag(NAS_ERABM_UL_NDIS_FILTER_INVALID); }
VOS_VOID NAS_ERABM_Init(VOS_VOID) { VOS_UINT8 ucTimerIndex = 0; VOS_UINT32 ulEpsbId = 0; VOS_UINT32 ulLoop = 0; APP_ESM_IP_ADDR_STRU *pstPdnAddr = VOS_NULL_PTR; /*打印进入该函数*/ NAS_ERABM_INFO_LOG("NAS_ERABM START INIT..."); /*初始化RABM实体*/ NAS_ERABM_MEM_SET((VOS_VOID*)NAS_ERABM_Entity(), NAS_ERABM_NULL, sizeof(NAS_ERABM_ENTITY_STRU)); /* 初始化RABM统计信息 */ NAS_ERABM_DebugInit(); /*设置SERVICE流程没有启动状态*/ NAS_ERABM_SetEmmSrState(NAS_ERABM_SERVICE_STATE_TERMIN); /*设置RABM没有等待EPS承载激活消息*/ NAS_ERABM_SetWaitEpsBActSign(NAS_ERABM_NOT_WAIT_EPSB_ACT_MSG); /*设置L MODE的状态为SUSPENDED*/ NAS_ERABM_SetLModeStatus(NAS_ERABM_L_MODE_STATUS_SUSPENDED); /*设置RRC请求建立RB的个数为0*/ NAS_ERABM_SetRbNumInfo(0); /*设置唯一激活且没有TFT的承载号为NAS_ERABM_ILL_EPSB_ID*/ NAS_ERABM_GetOnlyActiveAndNoUlTftEpsbId() = NAS_ERABM_ILL_EPSB_ID; /*设置不存在上行数据阻塞*/ NAS_ERABM_SetUpDataPending(EMM_ERABM_NO_UP_DATA_PENDING); /*初始化定时器信息*/ for ( ucTimerIndex = 0; ucTimerIndex < NAS_NAS_ERABM_TIMER_NAME_BUTT; ucTimerIndex++ ) { NAS_ERABM_TimerStop(ucTimerIndex); } /*初始化EPS承载列表*/ for (ulEpsbId = NAS_ERABM_MIN_EPSB_ID; ulEpsbId <= NAS_ERABM_MAX_EPSB_ID; ulEpsbId++) { pstPdnAddr = NAS_ERABM_GetEpsbPdnAddr(ulEpsbId); NAS_ERABM_SetEpsbIdInfo(ulEpsbId, ulEpsbId); NAS_ERABM_SetEpsbRbIdInfo(ulEpsbId, NAS_ERABM_ILL_RB_ID); NAS_ERABM_SetRbStateInfo(ulEpsbId, NAS_ERABM_RB_DISCONNECTED); NAS_ERABM_MEM_SET(pstPdnAddr, NAS_ERABM_NULL, sizeof(APP_ESM_IP_ADDR_STRU)); NAS_ERABM_ClearEpsbResource(ulEpsbId); } /*初始化RB建立临时表信息*/ for (ulLoop = 0; ulLoop < NAS_ERABM_MAX_EPSB_NUM; ulLoop++) { NAS_ERABM_SetRbSetupEpsbIdInfo(ulLoop, NAS_ERABM_ILL_EPSB_ID); NAS_ERABM_SetRbSetupRbIdInfo(ulLoop, NAS_ERABM_ILL_RB_ID); } /*初始化RABM灌包相关信息*/ NAS_ERABM_StAppDataBitIpv4(NAS_ERABM_OP_FALSE); NAS_ERABM_StAppDataBitIpv6(NAS_ERABM_OP_FALSE); NAS_ERABM_SetAppDataRmtPortIpv4(NAS_ERABM_NULL); NAS_ERABM_SetAppDataRmtPortIpv6(NAS_ERABM_NULL); NAS_ERABM_SetAppDataOperateType(APP_ERABM_DATA_TRANS_OPERATE_BUTT); NAS_ERABM_MEM_SET(NAS_ERABM_GetAppDataRemoteIpv4Addr(), NAS_ERABM_NULL,\ sizeof(NAS_ERABM_GetAppDataRemoteIpv4Addr())/sizeof(VOS_UINT8)); NAS_ERABM_MEM_SET(NAS_ERABM_GetAppDataRemoteIpv6Addr(), NAS_ERABM_NULL,\ sizeof(NAS_ERABM_GetAppDataRemoteIpv6Addr())/sizeof(VOS_UINT8)); NAS_ERABM_MEM_SET(NAS_ERABM_GET_IP_HEADER_BUFFER(), NAS_ERABM_NULL, NAS_ERABM_IP_HEADER_BUFFER_LEN); NAS_ERABM_MEM_SET( NAS_ERABM_GetIpv4SegBuffAddr(), NAS_ERABM_NULL, sizeof(NAS_ERABM_IPV4_SEGMENT_BUFF_STRU)); #if 0 /* 初始化下行IP需要使用的IP Filter定义 */ NAS_ERABM_IpfDefDlFilter(); #endif /* 初始化上行NDIS Filter有效 */ NAS_ERABM_SetUlNdisFilterValidFlag(NAS_ERABM_UL_NDIS_FILTER_INVALID); /* 初始化上行NDIS需要使用的IP Filter定义 */ NAS_ERABM_IpfUlNdisFilterInit(); /* 初始化IPF统计信息 */ NAS_ERABM_IpfOmInit(); }