亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? svinapdisp.cpp

?? 七號信令解碼器
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
/*****************************************************
Update History:

2000.06.14:增加防范措施
******************************************************/
#include "stdafx.h"
#include <windows.h>

extern unsigned char *dispbuf,*recbuf;
extern unsigned char UDTlen;
extern unsigned short displen;


extern void procSourcePARAdisp(BYTE dfldno);
extern void procNULL(unsigned char dfldno);
extern char procsequencetag(unsigned char dfldno);
extern void procsbasicpara(unsigned char dfldno);
extern void procmoredatadisp(WORD len);

void procinteger(BYTE dfldno)
{ BYTE li;
	*dispbuf++=dfldno;  //tag
	*dispbuf++=8;
	*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	
	*dispbuf++=dfldno+1;  //li
	*dispbuf++=8;
	li=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	
	*dispbuf++=dfldno+2;  
	*dispbuf++=li*8;
	if(li==1) *dispbuf++=*recbuf++;
	else if(li==2)
	{*dispbuf++=*(recbuf+1);
	 *dispbuf++=*recbuf;
	 recbuf+=2;
	}
	else if(li==3)
	{*dispbuf++=*(recbuf+2);
	 *dispbuf++=*(recbuf+1);
	 *dispbuf++=*recbuf;
	 recbuf+=3;
	}
	else if(li==4)
	{*dispbuf++=*(recbuf+3);
	 *dispbuf++=*(recbuf+2);
	 *dispbuf++=*(recbuf+1);
	 *dispbuf++=*recbuf;
	 recbuf+=4;
	}
	*dispbuf++=0xcc;
	displen+=li+11;
}

void procCase(BYTE dfldno)
{ BYTE li;
	*dispbuf++=dfldno;  //tag
	*dispbuf++=8;
	*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	
	*dispbuf++=dfldno+1;  //li
	*dispbuf++=8;
	li=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	
	if((*recbuf&0x80)==0) {recbuf+=2;li-=2;}  //expand
	else {recbuf++;li--;}

	*dispbuf++=dfldno+2;  
	*dispbuf++=8;
	*dispbuf++=(*recbuf)&0x7f;
	recbuf+=li;
	*dispbuf++=0xcc;
	displen+=12;
}




void procINAPCHGADDR(unsigned char dfldno) //P49-50
{  unsigned char li,i,code;
//ADDR TAG
	*dispbuf++=dfldno;
	*dispbuf++=8;
	*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
//ADDR LI
	*dispbuf++=dfldno+1;
	*dispbuf++=8;
	li=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	UDTlen-=li+2;
//ADDR IN
	*dispbuf++=dfldno+2;
	*dispbuf++=8;
	code=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
//ADDR SIGNAL
	if((code&0x7f)==9)
	{
	 *dispbuf++=dfldno+3;
	 *dispbuf++=32;
	 for(i=0;i<2;i++)
	 {*dispbuf=(*recbuf&0x0f)<<4;*dispbuf|=(*recbuf&0xf0)>>4;dispbuf++;recbuf++;}
	 *dispbuf++=0xcc;
	 recbuf+=li-3;
	}
	else if((code&0x7f)==10)
	{
	 *dispbuf++=dfldno+3;
	 *dispbuf++=11*4;
	 for(i=0;i<6;i++)
	 {*dispbuf=(*recbuf&0x0f)<<4;*dispbuf|=(*recbuf&0xf0)>>4;dispbuf++;recbuf++;}
	 *dispbuf++=0xcc;
	 recbuf+=li-7;
	}
	else
	{li--;
	 *dispbuf++=dfldno+3;
	 if((code&0x80)==0x80)  //there is fill,odd
		*dispbuf++=li*8-4;
	 else *dispbuf++=li*8;
	 for(i=0;i<li;i++)
	 {*dispbuf=(*recbuf&0x0f)<<4;*dispbuf|=(*recbuf&0xf0)>>4;dispbuf++;recbuf++;}
	 *dispbuf++=0xcc;
	 displen+=li+15; //li*2+22;
	}//else
}


void procINAPADDR(unsigned char dfldno) //P49-50
{  unsigned char li,i,code;
//ADDR TAG
	*dispbuf++=dfldno;
	*dispbuf++=8;
	*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
//ADDR LI
	*dispbuf++=dfldno+1;
	*dispbuf++=8;
	li=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	UDTlen-=li+2;
//ADDR IN
	*dispbuf++=dfldno+2;
	*dispbuf++=8;
	code=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
//ADDR SIGNAL
	li-=2;
	recbuf++;
	*dispbuf++=dfldno+3;
	if((code&0x80)==0x80)  //there is fill,odd
		*dispbuf++=li*8-4;
	else *dispbuf++=li*8;
	for(i=0;i<li;i++)
	{*dispbuf=(*recbuf&0x0f)<<4;*dispbuf|=(*recbuf&0xf0)>>4;dispbuf++;recbuf++;}
	*dispbuf++=0xcc;
	displen+=li+15; //li*2+22;
}



void ProcAdditionalCharg(BYTE dfldno)
{ BYTE indeffmt;

	indeffmt=procsequencetag(dfldno); //附加費 sequence
	procsbasicpara(dfldno+2);	//附加費值
	procsbasicpara(dfldno+5);	//附加費類型
	if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
}

void ProcAdjustRate(BYTE dfldno)
{ BYTE indeffmt;

	indeffmt=procsequencetag(dfldno); //計費調整率 sequence
	procsbasicpara(dfldno+2);	//計費調整率值
	procsbasicpara(dfldno+5);	//計費調整率類型
	if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
}


void procBearer(BYTE dfldno) //承載者
{  BYTE li,i,code;
//承載者 TAG
	*dispbuf++=dfldno;
	*dispbuf++=8;
	*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
//承載者 LI
	*dispbuf++=dfldno+1;
	*dispbuf++=8;
	li=*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
	UDTlen-=li+2;
//承載者的選擇
	*dispbuf++=dfldno+2;
	*dispbuf++=8;
	*dispbuf++=*recbuf++;
	*dispbuf++=0xcc;
//承載者ID
	code=*recbuf++;
	li-=3;
	*dispbuf++=dfldno+3;
	*dispbuf++=code*4;
	code/=2;code++;
	for(i=0;i<code;i++) *dispbuf++=*(recbuf+i);
	*dispbuf++=0xcc;
	recbuf+=li;

	displen+=code+12;
}

void procLegID(BYTE dfldno)
{ BYTE indeffmt;
    indeffmt=procsequencetag(dfldno); //LEGID sequence
	if((*recbuf&0x3f)==0) procsbasicpara(dfldno+2); //發方ID
	else if((*recbuf&0x3f)==1) procsbasicpara(dfldno+5); //收方ID
	if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}	  
}

void ProcSendingInfo(BYTE dfldno,BYTE dfldno2) //要發送的信息
{ BYTE indeffmt0,indeffmt,indeffmt2,indeffmt3,indeffmt4,li,len;

	indeffmt0=procsequencetag(dfldno2); //要發送的信息 sequence
//“要發送的信息”選擇“帶內信息”“信號音”“顯示信息”
	if((*recbuf&0x3f)==0x20)//選擇“帶內信息”
	{indeffmt=procsequencetag(dfldno); //帶內信息 sequence
//“消息ID”選擇“基本消息ID”“文本”“基本消息ID組”“可變消息”
	if((*recbuf&0x3f)==0x20)//“消息ID”
	{indeffmt2=procsequencetag(dfldno+2); //消息ID sequence
	 if((*recbuf&0x3f)==0) procsbasicpara(dfldno+4);  //基本消息ID
	 else if((*recbuf&0x3f)==0x21) //“文本”
	 {indeffmt3=procsequencetag(dfldno+7); //文本 sequence
	  if((*recbuf&0x3f)==0) procsbasicpara(dfldno+9); //消息內容
	  if((*recbuf&0x3f)==1) procsbasicpara(dfldno+12); //屬性
	  if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
	 }//“文本”
	 else if((*recbuf&0x3f)==0x3d) //“基本消息ID組”
	 {indeffmt3=procsequencetag(dfldno+13); //基本消息ID組
	  while((*recbuf&0x3f)==2) procsbasicpara(dfldno+4); //基本消息ID
	  if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
	 }//“基本消息ID組”
	 else if((*recbuf&0x3f)==0x3e) //“可變消息”
	 {indeffmt3=procsequencetag(dfldno+17); //可變消息sequence
	  if((*recbuf&0x3f)==0) procsbasicpara(dfldno+4); //基本消息ID
	  if((*recbuf&0x3f)==0x21)//可變部分
	  {if(*(recbuf+1)<=0x80) li=*(recbuf+1);
	   else li=*(recbuf+2);
	   indeffmt4=procsequencetag(dfldno+19); //可變部分sequence
	   if(indeffmt4!=0)//indefinite formatt
	   {
		while(*(WORD *)recbuf!=0)
		{
		 if((*recbuf&0x3f)==0) procsbasicpara(dfldno+21); //整數
		 else if((*recbuf&0x3f)==1) procsbasicpara(dfldno+24); //數字
		 else if((*recbuf&0x3f)==2) procsbasicpara(dfldno+27); //時間
		 else if((*recbuf&0x3f)==3) procsbasicpara(dfldno+30); //日期
		 else if((*recbuf&0x3f)==4) procsbasicpara(dfldno+33); //價格
		 else
		 {
			 procmoredatadisp(UDTlen); //add by 2000.06.14
			 UDTlen = 0;
			 return;
		 }
		}//while
		recbuf+=2;UDTlen-=2;
	   }//indefinite formatt
	   else//short\long format
	   {
		while(li!=0)
		{len=UDTlen;
		 if((*recbuf&0x3f)==0) procsbasicpara(dfldno+21); //整數
		 else if((*recbuf&0x3f)==1) procsbasicpara(dfldno+24); //數字
		 else if((*recbuf&0x3f)==2) procsbasicpara(dfldno+27); //時間
		 else if((*recbuf&0x3f)==3) procsbasicpara(dfldno+30); //日期
		 else if((*recbuf&0x3f)==4) procsbasicpara(dfldno+33); //價格
		 
		 if(len>UDTlen)
		 {len-=UDTlen; li-=len;}
		 else
		 {
			 procmoredatadisp(UDTlen); //add by 2000.06.14
			 UDTlen = 0;
			 return;
		 }
		}//while
	   }//short\long format
	  }//可變部分
	  if(indeffmt3!=0) {recbuf+=2;UDTlen-=2;}
	 }//“可變消息”
	 if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
	}////“消息ID”
//重復次數
	 if((*recbuf&0x3f)==1) procsbasicpara(dfldno+36); //重復次數
//持續時間
	 if((*recbuf&0x3f)==2) procsbasicpara(dfldno+39); //持續時間
//時間間隔
	 if((*recbuf&0x3f)==3) procsbasicpara(dfldno+42); //時間間隔
	 if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
	}//選擇“帶內信息”
	else if((*recbuf&0x3f)==0x21)//選擇“信號音”
	{indeffmt=procsequencetag(dfldno+45);  //信號音 sequence
	 if((*recbuf&0x3f)==0) procsbasicpara(dfldno+47); //信號音ID
	 if((*recbuf&0x3f)==1) procsbasicpara(dfldno+39); //持續時間
	 if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
	}//選擇“信號音”
	else if((*recbuf&0x1f)==2) //選擇“顯示信息”
	   procsbasicpara(dfldno+50);

	if(indeffmt0!=0) {recbuf+=2;UDTlen-=2;}
}


void ProcExpand(BYTE dfldno) //“擴展”,P63
{ BYTE indeffmt,indeffmt2;
	indeffmt=procsequencetag(dfldno); //擴展 sequence
	while(*recbuf==0x30 && UDTlen>2 && UDTlen<255)//擴展域
	{indeffmt2=procsequencetag(dfldno+2);//擴展域 sequence
	 procsbasicpara(dfldno+4);            //類型
	 procsbasicpara(dfldno+7);         //準則
	 procsbasicpara(dfldno+10);        //值
	 if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
	}//擴展域
	if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
}


void procResourceID(BYTE dfldno)//"資源ID"
{ BYTE indeffmt,indeffmt2;

	indeffmt=procsequencetag(dfldno); // 資源ID sequence
//"資源ID"選擇“設備群ID”“設備群成員ID”“中繼群ID”
	if((*recbuf&0x3f)==0x21)//選擇“設備群ID”
	{indeffmt2=procsequencetag(dfldno+2); // 設備群ID sequence
	 if((*recbuf&0x3f)==0) procsbasicpara(dfldno+4); //選擇“中繼群ID”
	 else if((*recbuf&0x3f)==1) procsbasicpara(dfldno+7); //選擇“單個設備ID”
	 else if((*recbuf&0x3f)==2) procsbasicpara(dfldno+10); //選擇“搜索群”
	 else if((*recbuf&0x3f)==3) procsbasicpara(dfldno+13); //選擇“路由索引”

	 if(indeffmt2!=0) {recbuf+=2;UDTlen-=2;}
	}//選擇“設備群ID”
	else if((*recbuf&0x3f)==2) procsbasicpara(dfldno+16);  //設備群成員ID
	else if((*recbuf&0x3f)==3) procsbasicpara(dfldno+19);  //中繼群ID

	if(indeffmt!=0) {recbuf+=2;UDTlen-=2;}
}

void procINAPdisp(BYTE oc,BYTE compt)
{  BYTE indeffmt,indeffmt2,indeffmt3,indeffmt4,li,len;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线精品一区在线观看麻豆| 美女国产一区二区三区| 久久五月婷婷丁香社区| 日韩一区二区三| 欧美一级夜夜爽| 精品免费国产二区三区| 亚洲精品一区二区精华| 日韩免费福利电影在线观看| 欧美大白屁股肥臀xxxxxx| 欧美日韩中文字幕一区二区| 欧美日韩情趣电影| 日韩手机在线导航| 精品国产sm最大网站| 26uuu欧美| 椎名由奈av一区二区三区| 国产精品电影一区二区三区| 亚洲欧美偷拍另类a∨色屁股| 一区二区三区精品久久久| 亚洲成人在线观看视频| 日韩av成人高清| 高清不卡在线观看| 色哦色哦哦色天天综合| 欧美日韩国产经典色站一区二区三区 | 国产精品第一页第二页第三页| 国产精品久久久久久久第一福利| 亚洲精品五月天| 青青草国产成人av片免费| 国产成人免费视频网站高清观看视频 | 日本精品一区二区三区四区的功能| 日本精品一级二级| 日韩美女在线视频| 国产精品大尺度| 麻豆一区二区99久久久久| 92国产精品观看| 精品日韩在线一区| 综合久久久久久| 免费在线观看视频一区| eeuss影院一区二区三区| 7777精品伊人久久久大香线蕉最新版| 久久久精品tv| 日本中文一区二区三区| 成人美女视频在线观看| 91麻豆精品国产自产在线| 欧美高清在线一区| 麻豆精品一区二区综合av| 色先锋久久av资源部| 久久久99精品久久| 日韩中文字幕一区二区三区| 成人高清av在线| 欧美精品一区男女天堂| 亚洲与欧洲av电影| 91麻豆高清视频| 日本一区二区三级电影在线观看| 欧美a一区二区| 欧美亚洲国产一区二区三区va| 欧美激情一区二区| 国产另类ts人妖一区二区| 欧美一区二区三区视频| 亚洲一区二区av电影| 国产不卡免费视频| 久久这里只有精品6| 蜜桃一区二区三区四区| 欧美久久久久久蜜桃| 亚洲国产日日夜夜| 欧美亚洲禁片免费| 亚洲国产一区二区三区青草影视 | 亚洲美女屁股眼交3| 丁香激情综合国产| 国产午夜亚洲精品午夜鲁丝片 | 国产盗摄一区二区| 欧美成人bangbros| 久久国产免费看| 欧美日韩一级片在线观看| 一区二区三区日韩| 一本色道**综合亚洲精品蜜桃冫| 国产日产精品一区| 成人免费视频网站在线观看| 久久久亚洲高清| 成人免费不卡视频| 国产精品国产精品国产专区不片| 成人一道本在线| 中文字幕综合网| 在线视频欧美精品| 亚洲妇熟xx妇色黄| 日韩免费电影一区| 国产美女一区二区| 中文字幕亚洲不卡| 欧美亚一区二区| 日韩福利电影在线观看| 欧美大黄免费观看| 国产老肥熟一区二区三区| 国产人伦精品一区二区| av亚洲精华国产精华精| 樱桃视频在线观看一区| 欧美日韩中文字幕一区二区| 麻豆国产欧美一区二区三区| 日本一区二区三区高清不卡| 91香蕉视频污| 另类欧美日韩国产在线| 国产精品电影院| 欧美高清视频一二三区| 国产精品影视网| 亚洲综合一二区| 久久综合网色—综合色88| 成人av在线播放网站| 亚洲图片欧美色图| 久久精品这里都是精品| 日本二三区不卡| 国产自产视频一区二区三区| 亚洲精品乱码久久久久久黑人| 欧美久久一二区| 99精品桃花视频在线观看| 秋霞电影一区二区| 亚洲欧美欧美一区二区三区| 日韩欧美一卡二卡| 91久久奴性调教| 国产精品原创巨作av| 日本中文字幕一区| 一区二区三区四区不卡在线| 日韩欧美激情四射| 色综合色综合色综合色综合色综合 | 在线免费亚洲电影| 国产精品资源网| 日日摸夜夜添夜夜添精品视频| 国产日韩欧美电影| 日韩欧美国产1| 欧美午夜宅男影院| 懂色av一区二区在线播放| 日韩精品一区第一页| 亚洲精品免费在线播放| 国产三级一区二区三区| 日韩视频免费观看高清完整版在线观看| 成人app在线观看| 风流少妇一区二区| 精品一区二区免费看| 污片在线观看一区二区| 一区二区三区在线不卡| 日本一区二区久久| 精品国精品自拍自在线| 在线综合视频播放| 欧美日韩一区二区不卡| 91免费版pro下载短视频| 成人精品视频一区二区三区 | 精品88久久久久88久久久| 欧美视频一区在线观看| 91在线视频免费91| 色94色欧美sute亚洲13| 福利一区在线观看| 成人ar影院免费观看视频| 国产91露脸合集magnet| 韩国毛片一区二区三区| 黄色日韩网站视频| 久久99这里只有精品| 蜜桃91丨九色丨蝌蚪91桃色| 欧美aaaaa成人免费观看视频| 日本成人在线看| 久久精工是国产品牌吗| 韩国三级电影一区二区| 极品销魂美女一区二区三区| 极品少妇一区二区三区精品视频 | 91精品国产91综合久久蜜臀| 欧美精品久久久久久久久老牛影院| 欧美午夜理伦三级在线观看| 欧美精品高清视频| 欧美一级黄色录像| 久久久久久久久久久99999| 国产午夜精品久久久久久久| 国产精品美女一区二区在线观看| 亚洲天堂网中文字| 午夜精品久久久久久不卡8050| 日韩av电影免费观看高清完整版| 久久国产乱子精品免费女| 国产一区二区免费看| 波多野结衣中文字幕一区二区三区 | 一区二区三区四区不卡视频| 午夜视频在线观看一区二区三区| 男男成人高潮片免费网站| 国产精品996| 欧美日韩一二区| 精品国产91九色蝌蚪| 日本一区二区成人| 午夜影视日本亚洲欧洲精品| 美女视频黄 久久| 成人午夜看片网址| 欧美三级电影在线观看| 精品欧美乱码久久久久久| 亚洲欧洲精品一区二区精品久久久| 亚洲欧美电影院| 久久99久久久久| 91极品美女在线| 欧美精品一区二区高清在线观看| 中文字幕一区二区三区蜜月| 视频一区在线播放| 成人午夜短视频| 欧美一区二区人人喊爽| 日韩一区在线免费观看| 蜜桃久久久久久久| 色乱码一区二区三区88| 亚洲精品一区二区三区影院 | 欧美变态tickling挠脚心|