⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gbptl.cpp

📁 GB接口数据解译程序
💻 CPP
📖 第 1 页 / 共 4 页
字号:
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_IMSI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(DRX!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_DRX_PARAMETERS,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	UINT8 i=8;
	while(i--)
	{
		if(LENGTH)
			goto END;			
		switch(*ptr)
		{
		case TLLI:
			ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case BVCIIE:
			ptr=SaveIE(ptr,IE_BSSGP_BVCIIE,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case LOCATION:
			ptr=SaveIE(ptr,IE_BSSGP_LOCATION_AREA,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;			
		case ROUTEING:
			ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case BSSAREAINDICATION:
			ptr=SaveIE(ptr,IE_BSSGP_BSS_AREA_INDICATION,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case CHANNELNEEDED:
			ptr=SaveIE(ptr,IE_BSSGP_CHANNEL_NEEDED,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;			
		case EMLPP:
			ptr=SaveIE(ptr,IE_BSSGP_EMLPP_PRIORITY,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;			
		case TMSI:
			ptr=SaveIE(ptr,IE_BSSGP_TMSI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		default:
			goto END;
		}
	}
END:
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;	
}
char CGBPdu::RACAPABILITYUPDATEDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(TAG!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_TAG,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::RACAPABILITYUPDATEACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(TAG!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_TAG,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	UINT8 i=3;
	while(i--)
	{
		if(LENGTH)
			goto END;
		switch(*ptr)
		{
		case IMSI:
			ptr=SaveIE(ptr,IE_BSSGP_IMSI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case RACAPUPDCAUSE:
			ptr=SaveIE(ptr,IE_BSSGP_RA_CAP_UPD_CAUSE,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;			
		case MSRADIOACCESSCAPABILITY:
			ptr=SaveIE(ptr,IE_BSSGP_MS_RADIO_ACCESS,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		default:
			goto END;
		}
	}
END:
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;		
}
char CGBPdu::RADIOSTATUSDecode(UINT8 *ptr, UINT16 len)
{
	UINT8 i=4;
	UINT8*p=ptr;
	while(i--)
	{
		if(LENGTH)
			goto END;
		switch(*ptr)
		{
		case TLLI:
			ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case TMSI:
			ptr=SaveIE(ptr,IE_BSSGP_TMSI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;	
		case IMSI:
			ptr=SaveIE(ptr,IE_BSSGP_IMSI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;			
		case RADIOCAUSE:	
			ptr=SaveIE(ptr,IE_BSSGP_RADIO_CAUSE,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
		default:
			goto END;
		}
	}
END:
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;	
}
char CGBPdu::SUSPENDDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(ROUTEING!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::SUSPENDACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(ROUTEING!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(SUSPENDREFERENCENUMBER!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_SUSPEND_REFERENCE_NUMBER,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::SUSPENDNACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(ROUTEING!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(NS_CAUSE==*ptr)
		ptr=SaveIE(ptr,IE_BSSGP_CAUSE,len-(ptr-p));
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::RESUMEDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(ROUTEING!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(SUSPENDREFERENCENUMBER!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_SUSPEND_REFERENCE_NUMBER,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::RESUMEACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(ROUTEING!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::RESUMENACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(ROUTEING!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_ROUTEING_AREA,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(NS_CAUSE==*ptr)
		ptr=SaveIE(ptr,IE_BSSGP_CAUSE,len-(ptr-p));
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::FLUSHLLDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_OLD_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BVCIIE==*ptr)
		ptr=SaveIE(ptr,IE_BSSGP_BVCIIE,len-(ptr-p));
	return CGBPdu_SUCCESS;	
}
char CGBPdu::FLUSHLLACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(FLUSHACTION!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_FLUSH_ACTION,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BVCIIE==*ptr)
		ptr=SaveIE(ptr,IE_BSSGP_BVCIIE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(NUMBEROFOCTETSAFFECTED!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_NUMBER_OF_OCTETS_AFFECTED,len-(ptr-p));
	return CGBPdu_SUCCESS;
}
char CGBPdu::LLCDISCARDEDDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(LLCFRAMESDISCARDED!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_LLC_FRAMES_DISCARDED,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_BVCIIE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(NUMBEROFOCTETSAFFECTED!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_NUMBER_OF_OCTETS_AFFECTED,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::FLOWCONTROLBVCDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TAG!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_TAG,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BVCBUCKETSIZE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_BVC_BUCKET_SIZE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BUCKETLEAKRATE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_BUCKET_LEAK_RATE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BMAXDEFAULTMS!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_BMAX_DEFAULT_MS,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(RDEFAULTMS!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_R_DEFAULT_MS,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	UINT8 i=2;
	while(i--)
	{
		if(LENGTH)
			goto END;
		switch(*ptr)
		{
		case BUCKETFULLRATIO:
			ptr=SaveIE(ptr,IE_BSSGP_BUCKET_FULL_RATIO,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case BVCMEASUREMENT:	
			ptr=SaveIE(ptr,IE_BSSGP_BVC_MEASUREMENT,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
		default:
			goto END;
		}
		if(LENGTH)
			return CGBPdu_ERROR_INVLID;	
	}
END:
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;	
}
char CGBPdu::FLOWCONTROLBVCACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TAG!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_TAG,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;	
}
char CGBPdu::FLOWCONTROLMSDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(TAG!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_TAG,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(MSBUCKET!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_MS_BUCKET_SIZE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BUCKETLEAKRATE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_BUCKET_LEAK_RATE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(BUCKETFULLRATIO==*ptr)
		ptr=SaveIE(ptr,IE_BSSGP_BUCKET_FULL_RATIO,len-(ptr-p));
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::FLOWCONTROLMSACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(TLLI!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CUR_TLLI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(TAG!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_TAG,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::BVCBLOCKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_NS_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(NS_CAUSE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CAUSE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::BVCBLOCKACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_NS_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::BVCUNBLOCKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_NS_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::BVCUNBLOCKACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_NS_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;
}
char CGBPdu::BVCRESETDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_NS_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	if(NS_CAUSE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CAUSE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	UINT8 i=2;
	while(i--)
	{
		if(LENGTH)
			goto END;
		switch(*ptr)
		{
		case CGI:
			ptr=SaveIE(ptr,IE_BSSGP_CGI,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
			break;
		case FEATUREBITMAP:	
			ptr=SaveIE(ptr,IE_BSSGP_FEATURE_BITMAP,len-(ptr-p));
			if(!ptr)
				return CGBPdu_ERROR_SHORT;
		default:
			goto END;
		}
	}
END:
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;	
}
char CGBPdu::BVCRESETACKDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(BVCIIE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_NS_BVCI,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	UINT8 i=2;
	while(i--)
	{
		if(LENGTH)
			goto END;
		switch(*ptr)
		{
		case CGI:
			ptr=SaveIE(ptr,IE_BSSGP_CGI,len-(ptr-p));
			if(!ptr)
				goto END;
			break;
		case FEATUREBITMAP:	
			ptr=SaveIE(ptr,IE_BSSGP_FEATURE_BITMAP,len-(ptr-p));
		default:
			goto END;
		}
	}
END:
	AssembleLeng=ptr-Frame;
	return CGBPdu_SUCCESS;	
}
char CGBPdu::STATUSDecode(UINT8 *ptr, UINT16 len)
{
	UINT8*p=ptr;
	if(NS_CAUSE!=*ptr)
		return CGBPdu_ERROR_INVLID;
	ptr=SaveIE(ptr,IE_BSSGP_CAUSE,len-(ptr-p));
	if(!ptr)
		return CGBPdu_ERROR_SHORT;
	UINT8 i=2;
	while(i--)
	{
		if(LENGTH)
			return CGBPdu_SUCCESS;
		switch(*ptr)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -