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

📄 dspbssmapfunc.cpp

📁 七号信令解码器
💻 CPP
📖 第 1 页 / 共 5 页
字号:
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,Unblock_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 30:         //UnblockAcknowledge
			if(MsgFKind<2) {
				ShowType=UnblockAcknowledge_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,UnblockAcknowledge_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 31:         //CircuitPoolBlock
			if(MsgFKind<9) {
				ShowType=CircuitPoolBlock_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CircuitPoolBlock_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 32:         //CircuitPoolBlockAck
			if(MsgFKind<6) {
				ShowType=CircuitPoolBlockAck_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CircuitPoolBlockAck_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 33:         //CircuitPoolUnblock
			if(MsgFKind<6) {
				ShowType=CircuitPoolUnblock_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CircuitPoolUnblock_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 34:         //CircuitPoolUnblockAck
			if(MsgFKind<6) {
				ShowType=CircuitPoolUnblockAck_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CircuitPoolUnblockAck_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 35:         //UnequippedCircuit
			if(MsgFKind<6) {
				ShowType=UnequippedCircuit_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,UnequippedCircuit_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 36:         //ResourceRequest
			if(MsgFKind<13) {
				ShowType=ResourceRequest_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,ResourceRequest_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 37:         //ResourceIndication
			if(MsgFKind<23) {
				ShowType=ResourceIndication_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,ResourceIndication_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 38:         //Paging
			if(MsgFKind<15) {
				ShowType=Paging_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,Paging_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 39:         //CipherModeCommand
			if(MsgFKind<10) {
				ShowType=CipherModeCommand_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CipherModeCommand_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 40:         //ClassMarkUpdate
			if(MsgFKind<6) {
				ShowType=ClassMarkUpdate_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,ClassMarkUpdate_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 41:         //CipherModeComplete
			if(MsgFKind<5) {
				ShowType=CipherModeComplete_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CipherModeComplete_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 43:         //CompleteLayer3Info
			if(MsgFKind<32) {
				ShowType=CompleteLayer3Info_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CompleteLayer3Info_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 45:         //CipherModeReject
			if(MsgFKind<3) {
				ShowType=CipherModeReject_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,CipherModeReject_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	
		case 46:         //LoadIndication
			if(MsgFKind<23) {
				ShowType=LoadIndication_FieldCrit[MsgFKind][3];
				strcpy(Str2,"");
				for(J=0;J<Len3;++J) {
					bData=BUFDISPLAY[I];
					I++;
					Num=8;
					if(Len2!=Len3 && J==(Len2/8))
						Num=Len2%8;
					bEnd=GetDataStr(bData,Num,ShowType);  //2 is show type
					if(!bEnd) {
						sprintf(Str2,"?: %02Xh",bData);
						I+=(Len3-1-J);
						break;
					}
					strcat(Str2,DataStr);
				}
				strcpy(Str1,LoadIndication_Field[MsgFKind]);
				if(ShowType==1)
					sprintf(Str,": %sb",Str2);
				else {
					if(ShowType==2)
						sprintf(Str,": %sh",Str2);
					else  sprintf(Str,": %s",Str2);
				}
			}
			break;	

	/*	case 44:         //ClassMarkRequest
		case 42:         //QueueIndicate
		case 21:         //ResetAck
		case 16:         //ClearComplete
		case 14:         //HandoverDetected
			break;	*/
		default:
			strcpy(Str1,"?");
			strcpy(Str,": ?");
			break;
	}
	nDrawX+=DeltaX;
	if(YOrNTxt==true)
	{if(PtRate==-100)
	 strcat(bssmapfunc_TotalDataStr,"                    ");
	sprintf(Str1,"%-20s",Str1);
	strcat(bssmapfunc_TotalDataStr,Str1);}
	else
	msgText.AddString(nDrawX*PtRate,nDrawY*PtRate,Str1,strlen(Str1));
	nDrawX+=DeltaX;
	if(YOrNTxt==true)
	{sprintf(Str,"%-20s",Str);
	strcat(bssmapfunc_TotalDataStr,Str);}
	else
	msgText.AddString(nDrawX*PtRate,nDrawY*PtRate,Str,strlen(Str));
	return(nDrawY);
}

/****************************************************************************
 *                                                                          *
 *  FUNCTION   : ShowBssMapField()                                             *
 *  PURPOSE  : Get One Byte Data's Str
 *
 ****************************************************************************/
BOOL ShowBssMapField()
{
	BOOL bRet=FALSE;

	switch(BssMapKind) {
	case 1://AssignRequest
		if(MsgFKind<19 && AssignRequest_FieldCrit[MsgFKind][1]==1)
			bRet=TRUE;
		break;
	case 2://AssignComplete

⌨️ 快捷键说明

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