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

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

?? tcp.c

?? ZLG的EASYARM8962開發板中IAR實驗例程第六章
?? C
?? 第 1 頁 / 共 3 頁
字號:
	//Send_Reset(num);
	}
else if(Tcp_Packed.Tcp.control&(TCP_SYN))//收到同步信號
	{
		TcpStatus[num].RecPassAck=Tcp_Packed.Tcp.AckNum;//確認
		TcpStatus[num].RecPassSeq=Tcp_Packed.Tcp.SeqNum;//對方的初始化順序號
		TcpStatus[num].SenPassSeq=TcpStatus[num].RecPassAck;
		TcpStatus[num].SenPassAck=TcpStatus[num].RecPassSeq;//我的順序號,用于發送
		TcpHeadHandle(num ,0x5000+TCP_RST);//headlength 0x20,
		TcpStatus[num].TcpDHeadUint8[2]=0;
		TcpStatus[num].TcpDHeadUint8[3]=20;
		Tcp_Packed.TcpDHead.TotalLen=20;
		Tcp_Packed.Tcp.Crc=CheckSumTcp1(num,32);//12+28
		TcpStatus[num].TcpHeadUint8[16]=(Tcp_Packed.Tcp.Crc&0xff00)>>8;;
		TcpStatus[num].TcpHeadUint8[17]=Tcp_Packed.Tcp.Crc&0x00ff;
		TxdData.STPTR=NULL;
		TxdData.length=20;
		TxdData.DAPTR=TcpStatus[num].TcpHeadUint8;
		Send_Ip_Frame	
			(
				&TxdData,
				TcpStatus[num].Dest_Ip,
				TcpStatus[num].My_Ip,
				6
			);
		Delete_Socket(num);
	//Tcp_Listen(num) ;
	//Send_Reset(num);
	}
else if(Tcp_Packed.Tcp.control&TCP_ACK)//表示這是一個3次握手的確認表明連接建立
	{
 	if((TcpStatus[num].SenPassSeq<=Tcp_Packed.Tcp.AckNum)
	&&(Tcp_Packed.Tcp.AckNum<=TcpStatus[num].RecFutureAck))
		{
		TcpStatus[num].RecPassAck=Tcp_Packed.Tcp.AckNum;//確認
		TcpStatus[num].RecPassSeq=Tcp_Packed.Tcp.SeqNum;//確認
		TcpStatus[num].State=TCP_STATE_ESTABLISHED;//tcp_syn_established;
		if((TcpStatus[num].StaSem&0x02)==0x02)
				OSSemPost(AppSemCon[num]);
	 	//TcpConnected=1;
 	    }
    	}
}
uint8 Tcp_SYN_Sent(uint8 num)
{
static uint32 initalseq=32451;
struct _pkst TxdData;
	if((Tcp_Packed.Tcp.control&TCP_SYN)&&(Tcp_Packed.Tcp.control&TCP_ACK))
	{
		if(TcpStatus[num].RecFutureAck<=Tcp_Packed.Tcp.AckNum)
		{
			TcpStatus[num].RecPassAck=Tcp_Packed.Tcp.AckNum;//確認
			TcpStatus[num].RecPassSeq=Tcp_Packed.Tcp.SeqNum;//對方的初始化順序號
			TcpStatus[num].SenPassSeq=TcpStatus[num].RecPassAck;
			TcpStatus[num].SenPassAck=TcpStatus[num].RecPassSeq+1;//我的順序號,用于發送
			TcpStatus[num].My_Wl1=TcpStatus[num].RecPassSeq;//seq
			TcpStatus[num].Rcv_Window=Tcp_Packed.Tcp.window;//對方的WINDOW大小
			TcpStatus[num].Dest_Max_Seg_Size=MAX_TCP_DATA;//默認為560
			if(Tcp_Packed.Tcp.offset>20)
			if(Tcp_Packed.Tcp.tcpdata[0]==0x02)
			if(Tcp_Packed.Tcp.tcpdata[1]==0x04)		//0204為最大segment選項
			{
				TcpStatus[num].Dest_Max_Seg_Size=Tcp_Packed.Tcp.tcpdata[2]*256+Tcp_Packed.Tcp.tcpdata[3];
			}
			//********************************************//
			TcpHeadHandle(num ,0x5000+TCP_ACK);
			TcpStatus[num].TcpDHeadUint8[2]=0;
			TcpStatus[num].TcpDHeadUint8[3]=20;
			Tcp_Packed.Tcp.Crc=CheckSumTcp1(num,32);//12+28
			TcpStatus[num].TcpHeadUint8[16]=(Tcp_Packed.Tcp.Crc&0xff00)>>8;;
			TcpStatus[num].TcpHeadUint8[17]=Tcp_Packed.Tcp.Crc&0x00ff;
			TxdData.STPTR=NULL;
			TxdData.length=20;
			TxdData.DAPTR=TcpStatus[num].TcpHeadUint8;
			Send_Ip_Frame	
					(
						&TxdData,
						TcpStatus[num].Dest_Ip,
						TcpStatus[num].My_Ip,
						6
					);
			TcpStatus[num].State=TCP_STATE_ESTABLISHED;
			if((TcpStatus[num].StaSem&0x02)==0x02)
				OSSemPost(AppSemCon[num]);
			return (0);
 	    }
 	    return (0);
	}
	else if(Tcp_Packed.Tcp.control&TCP_SYN)
	{
		TcpStatus[num].State=TCP_STATE_SYN_RCVD;//TCP_STATE_SYN_RCVD;//Tcp_SYN_Rec;
		//TcpStatus[num].Dest_Ip[0]=Tcp_Packed.TcpDHead.DestId[0];
		//TcpStatus[num].Dest_Ip[1]=Tcp_Packed.TcpDHead.DestId[1];
		//TcpStatus[num].Dest_Ip[2]=Tcp_Packed.TcpDHead.DestId[2];
		//TcpStatus[num].Dest_Ip[3]=Tcp_Packed.TcpDHead.DestId[3];
		TcpStatus[num].Dest_Port=Tcp_Packed.Tcp.SourcePort;//對方端口
		//TcpStatus[num].My_Port=Tcp_Packed.Tcp.DestPort;
		TcpStatus[num].IRS=Tcp_Packed.Tcp.SeqNum;//對方的初始化順序號
		TcpStatus[num].RecPassSeq=Tcp_Packed.Tcp.SeqNum;
		TcpStatus[num].RecPassAck=0;
		TcpStatus[num].SenPassSeq=initalseq;
		TcpStatus[num].SenPassAck=TcpStatus[num].RecPassSeq+1;
		TcpStatus[num].RecFutureAck=initalseq+1;
		TcpStatus[num].SenFutureSeq=initalseq+1;
		TcpStatus[num].Rcv_Next=Tcp_Packed.Tcp.SeqNum+1;//對方的順序號,用于確認
		TcpStatus[num].ISS=TcpStatus[num].Send_Next;//我的初始化順序號
		TcpStatus[num].Sent_UnAck=TcpStatus[num].ISS;//我的未確認得序號
		TcpStatus[num].Send_Next=TcpStatus[num].ISS+1;//我的順序號,用于發送
		TcpStatus[num].My_Wl1=Tcp_Packed.Tcp.SeqNum;//seq
		TcpStatus[num].My_Wl2=TcpStatus[num].Send_Next;
		TcpStatus[num].Rcv_Window=Tcp_Packed.Tcp.window;//對方的WINDOW大小
		TcpStatus[num].Snd_Window=MAX_TCP_DATA;//通知對方本地最大接收1024字節的包,用于流控
		TcpStatus[num].Dest_Max_Seg_Size=MAX_TCP_DATA;//默認為560
		if(Tcp_Packed.Tcp.offset>50)
		if(Tcp_Packed.Tcp.tcpdata[0]==0x02)
		if(Tcp_Packed.Tcp.tcpdata[1]==0x04)		//0204為最大segment選項
		{
			TcpStatus[num].Dest_Max_Seg_Size=Tcp_Packed.Tcp.tcpdata[2]*256+Tcp_Packed.Tcp.tcpdata[3];
		}
		TcpStatus[num].My_Max_Seg_Size=MAX_TCP_DATA;//本地機可以接受最大的以太網數據包
		//********************************************//
		TcpStatus[num].TcpHeadUint8[0]=(TcpStatus[num].My_Port&0xff00)>>8;
		TcpStatus[num].TcpHeadUint8[1]=TcpStatus[num].My_Port&0x00ff;
		Tcp_Packed.Tcp.SourcePort=TcpStatus[num].My_Port;
		TcpStatus[num].TcpHeadUint8[2]=(TcpStatus[num].Dest_Port&0xff00)>>8;
		TcpStatus[num].TcpHeadUint8[3]=TcpStatus[num].Dest_Port&0x00ff;
		Tcp_Packed.Tcp.DestPort=TcpStatus[num].Dest_Port;
		TcpStatus[num].TcpHeadUint8[4]=(TcpStatus[num].SenPassSeq&0xff000000)>>24;
		TcpStatus[num].TcpHeadUint8[5]=(TcpStatus[num].SenPassSeq&0x00ff0000)>>16;
		TcpStatus[num].TcpHeadUint8[6]=(TcpStatus[num].SenPassSeq&0x0000ff00)>>8;
		TcpStatus[num].TcpHeadUint8[7]=(TcpStatus[num].SenPassSeq&0x000000ff);
		Tcp_Packed.Tcp.SeqNum=TcpStatus[num].ISS;
		TcpStatus[num].TcpHeadUint8[8]=(TcpStatus[num].SenPassAck&0xff000000)>>24;
		TcpStatus[num].TcpHeadUint8[9]=(TcpStatus[num].SenPassAck&0x00ff0000)>>16;
		TcpStatus[num].TcpHeadUint8[10]=(TcpStatus[num].SenPassAck&0x0000ff00)>>8;
		TcpStatus[num].TcpHeadUint8[11]=(TcpStatus[num].SenPassAck&0x000000ff);
		Tcp_Packed.Tcp.AckNum=TcpStatus[num].Rcv_Next;
		TcpStatus[num].TcpHeadUint8[12]=0x70;
		Tcp_Packed.Tcp.offset=0x70;
		TcpStatus[num].TcpHeadUint8[13]=0x12;
		Tcp_Packed.Tcp.control=0x12; //syn+ack
		TcpStatus[num].TcpHeadUint8[14]=(TcpStatus[num].Snd_Window&0xff00)>>8;
		TcpStatus[num].TcpHeadUint8[15]=TcpStatus[num].Snd_Window&0x00ff;
		Tcp_Packed.Tcp.window=TcpStatus[num].Snd_Window;
		TcpStatus[num].TcpHeadUint8[16]=0;
		TcpStatus[num].TcpHeadUint8[17]=0;
		Tcp_Packed.Tcp.Crc=0;
		TcpStatus[num].TcpHeadUint8[18]=0;
		TcpStatus[num].TcpHeadUint8[19]=0;
		Tcp_Packed.Tcp.urg=0;
		//******添加TCP頭選項*************//
		TcpStatus[num].TcpHeadUint8[20]=0X02;
		Tcp_Packed.Tcp.tcpdata[0]=0X02;
		TcpStatus[num].TcpHeadUint8[21]=0X04;
		Tcp_Packed.Tcp.tcpdata[1]=0X04;
		TcpStatus[num].TcpHeadUint8[22]=MAX_TCP_DATA/256;
		Tcp_Packed.Tcp.tcpdata[2]=MAX_TCP_DATA/256;
		TcpStatus[num].TcpHeadUint8[23]=MAX_TCP_DATA%256;
		Tcp_Packed.Tcp.tcpdata[3]=MAX_TCP_DATA%256;
		TcpStatus[num].TcpHeadUint8[24]=0X01;
		Tcp_Packed.Tcp.tcpdata[4]=0X01;
		TcpStatus[num].TcpHeadUint8[25]=0X01;
		Tcp_Packed.Tcp.tcpdata[5]=0X01;
		TcpStatus[num].TcpHeadUint8[26]=0X01;
		Tcp_Packed.Tcp.tcpdata[6]=0X01;
		TcpStatus[num].TcpHeadUint8[27]=0X01;
		Tcp_Packed.Tcp.tcpdata[7]=0X01;
		//*********添加TCP假頭**********//
		TcpStatus[num].TcpDHeadUint8[0]=0;
		Tcp_Packed.TcpDHead.rev=0;
		TcpStatus[num].TcpDHeadUint8[1]=6;
		Tcp_Packed.TcpDHead.NextProtocal=6;
		TcpStatus[num].TcpDHeadUint8[2]=0;
		TcpStatus[num].TcpDHeadUint8[3]=28;
		Tcp_Packed.TcpDHead.TotalLen=28;
		TcpStatus[num].TcpDHeadUint8[4]=TcpStatus[num].My_Ip[0];
		TcpStatus[num].TcpDHeadUint8[5]=TcpStatus[num].My_Ip[1];
		TcpStatus[num].TcpDHeadUint8[6]=TcpStatus[num].My_Ip[2];
		TcpStatus[num].TcpDHeadUint8[7]=TcpStatus[num].My_Ip[3];
		TcpStatus[num].TcpDHeadUint8[8]=TcpStatus[num].Dest_Ip[0];
		TcpStatus[num].TcpDHeadUint8[9]=TcpStatus[num].Dest_Ip[1];
		TcpStatus[num].TcpDHeadUint8[10]=TcpStatus[num].Dest_Ip[2];
		TcpStatus[num].TcpDHeadUint8[11]=TcpStatus[num].Dest_Ip[3];
		//Tcp_Packed.Tcp.Crc=CheckSumTcp((uint16 EX_RAM *)&Tcp_Packed,Tcp_Packed.TcpDHead.TotalLen+12);
		Tcp_Packed.Tcp.Crc=CheckSumTcp1(num,40);//12+28
		TcpStatus[num].TcpHeadUint8[16]=(Tcp_Packed.Tcp.Crc&0xff00)>>8;;
		TcpStatus[num].TcpHeadUint8[17]=Tcp_Packed.Tcp.Crc&0x00ff;
		//memcpy (&(TcpStatus[num].resend_data),&(Tcp_Packed.Tcp) , Tcp_Packed.TcpDHead.TotalLen);
		TcpStatus[num].ResendLength=Tcp_Packed.TcpDHead.TotalLen;
		
		TxdData.STPTR=NULL;
		TxdData.length=Tcp_Packed.TcpDHead.TotalLen;
		TxdData.DAPTR=TcpStatus[num].TcpHeadUint8;
		Send_Ip_Frame	
				(
					&TxdData,
					TcpStatus[num].Dest_Ip,
					TcpStatus[num].My_Ip,
					6
				);
	}
	else if(Tcp_Packed.Tcp.control&TCP_RST)
	{
		Delete_Socket(num);
	}
	else if((Tcp_Packed.Tcp.control&TCP_ACK)==TCP_ACK)
	{
		TcpStatus[num].RecPassAck=Tcp_Packed.Tcp.AckNum;//確認
		TcpStatus[num].RecPassSeq=Tcp_Packed.Tcp.SeqNum;//對方的初始化順序號
		TcpStatus[num].SenPassSeq=TcpStatus[num].RecPassAck;
		TcpStatus[num].SenPassAck=TcpStatus[num].RecPassSeq;//我的順序號,用于發送
		TcpHeadHandle(num ,0x5000+TCP_RST);//headlength 0x20,
		TcpStatus[num].TcpDHeadUint8[2]=0;
		TcpStatus[num].TcpDHeadUint8[3]=20;
		Tcp_Packed.TcpDHead.TotalLen=20;
		Tcp_Packed.Tcp.Crc=CheckSumTcp1(num,32);//12+28
		TcpStatus[num].TcpHeadUint8[16]=(Tcp_Packed.Tcp.Crc&0xff00)>>8;;
		TcpStatus[num].TcpHeadUint8[17]=Tcp_Packed.Tcp.Crc&0x00ff;
		TxdData.STPTR=NULL;
		TxdData.length=20;
		TxdData.DAPTR=TcpStatus[num].TcpHeadUint8;
		Send_Ip_Frame	
			(
				&TxdData,
				TcpStatus[num].Dest_Ip,
				TcpStatus[num].My_Ip,
				6
			);
	}
	return 0;
}
/**********************************************************************
**函數原型:    void        Tcp_Close_Wait( )
**入口參數:		無
**出口參數:		無
**返 回 值:	無
**說    明:	TCP等待關閉狀態的處理
************************************************************************/
/*void Tcp_Close_Wait(uint8 num)
{
	//TcpStatus[num].Send_Next++;
uint16 i;
	i=Tcp_Packed.Tcp.SourcePort;
	Tcp_Packed.Tcp.SourcePort=Tcp_Packed.Tcp.DestPort;
	Tcp_Packed.Tcp.DestPort=i;
	Tcp_Packed.Tcp.SeqNum=TcpStatus[num].Send_Next;
	Tcp_Packed.Tcp.AckNum=TcpStatus[num].Rcv_Next;
	Tcp_Packed.Tcp.control=TCP_FIN+TCP_ACK;
	TcpStatus[num].Sent_UnAck=TcpStatus[num].Send_Next;
	TcpStatus[num].State=TCP_STATE_CLOSED;//TCP_STATE_LAST_ACK ;
	Send_Reset(num);//復位對方連接		
//	TcpStatus[num].State=TCP_STATE_LAST_ACK ;
}
*/
/**********************************************************************
**函數原型:    void        Tcp_Last_Ack( )
**入口參數:		無
**出口參數:		無
**返 回 值:	無
**說    明:	接收到TCP_RST,TCP_SYN或TCP_ACK報文時,關閉連接
************************************************************************/
void Tcp_Last_Ack(uint8 num) 
{

if(Tcp_Packed.Tcp.control&(TCP_RST+TCP_SYN+TCP_ACK))
	{//對方不接受請求,關閉本地連接
     		Delete_Socket(num);
	}
}

uint8 Tcp_Established(uint8 num) 
{//
	uint16 i;
	uint16 temp;
//	uint16 tcplength;
	struct _pkst TxdData;
	if(Tcp_Packed.Tcp.control&(TCP_RST+TCP_SYN))
	{
		Delete_Socket(num);
		return (0);
	}
	if(Tcp_Packed.Tcp.control&(TCP_FIN))
	{
		TcpStatus[num].RecPassSeq=Tcp_Packed.Tcp.SeqNum;
		TcpStatus[num].RecPassAck=Tcp_Packed.Tcp.AckNum;
		//Tcp_Packed.Tcp.control=TCP_ACK;
		TcpStatus[num].SenPassSeq=TcpStatus[num].RecPassAck;
		TcpStatus[num].SenPassAck=TcpStatus[num].RecPassSeq+1;
		TcpStatus[num].SenFutureSeq=TcpStatus[num].SenPassSeq;
		TcpStatus[num].RecFutureAck=TcpStatus[num].SenPassSeq+1;
		TcpHeadHandle(num ,0x5000+TCP_ACK);//headlength 0x20,
		TcpStatus[num].TcpDHeadUint8[2]=0;
		TcpStatus[num].TcpDHeadUint8[3]=20;
		Tcp_Packed.TcpDHead.TotalLen=20;
		Tcp_Packed.Tcp.Crc=CheckSumTcp1(num,32);//12+28
		TcpStatus[num].TcpHeadUint8[16]=(Tcp_Packed.Tcp.Crc&0xff00)>>8;;
		TcpStatus[num].TcpHeadUint8[17]=Tcp_Packed.Tcp.Crc&0x00ff;
		TxdData.STPTR=NULL;
		TxdData.length=20;
		TxdData.DAPTR=TcpStatus[num].TcpHeadUint8;
		Send_Ip_Frame	
			(
				&TxdData,
				TcpStatus[num].Dest_Ip,
				TcpStatus[num].My_Ip,
				6
			);
		/***************CLOSING WAIT*****************/	
		//Tcp_Packed.Tcp.control=TCP_FIN+TCP_ACK;
		TcpHeadHandle(num ,0x5000+TCP_FIN+TCP_ACK);//headlength 0x20,
		TcpStatus[num].TcpDHeadUint8[2]=0;
		TcpStatus[num].TcpDHeadUint8[3]=20;
		Tcp_Packed.TcpDHead.TotalLen=20;
		Tcp_Packed.Tcp.Crc=CheckSumTcp1(num,32);//12+20
		TcpStatus[num].TcpHeadUint8[16]=(Tcp_Packed.Tcp.Crc&0xff00)>>8;;
		TcpStatus[num].TcpHeadUint8[17]=Tcp_Packed.Tcp.Crc&0x00ff;
		TxdData.STPTR=NULL;
		TxdData.length=20;
		TxdData.DAPTR=TcpStatus[num].TcpHeadUint8;
		Send_Ip_Frame	
			(
				&TxdData,
				TcpStatus[num].Dest_Ip,
				TcpStatus[num].My_Ip,
				6
			);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品私人自拍| 在线不卡a资源高清| 精品乱人伦一区二区三区| 蓝色福利精品导航| 欧美变态口味重另类| 国内精品久久久久影院色| 久久伊人中文字幕| 成人黄色片在线观看| 一色屋精品亚洲香蕉网站| 色妹子一区二区| 亚洲国产欧美在线| 日韩欧美一区二区三区在线| 国产精品影视在线| 亚洲人精品午夜| 欧美日韩一区小说| 免费成人你懂的| 日本一区二区视频在线| 99re热视频这里只精品| 午夜欧美一区二区三区在线播放| 久久久精品黄色| 国产91露脸合集magnet| 1000部国产精品成人观看| 欧美日本高清视频在线观看| 精品一区二区在线播放| 亚洲三级在线观看| 欧美一级在线观看| av在线播放不卡| 欧美a一区二区| 2024国产精品| 色域天天综合网| 狠狠色综合日日| 亚洲激情第一区| 精品国产乱码久久久久久免费| 一区二区三国产精华液| 欧美另类一区二区三区| 国产高清不卡一区二区| 亚洲宅男天堂在线观看无病毒| 国产乱对白刺激视频不卡| 一区二区免费在线播放| 久久久久久久久久看片| av男人天堂一区| 人人精品人人爱| 亚洲综合图片区| 国产情人综合久久777777| 欧美日韩成人激情| 懂色av一区二区三区免费观看| 久久久精品国产免费观看同学| 青椒成人免费视频| 亚洲欧洲国产专区| 日韩精品一区二区三区四区 | 成人av午夜电影| 日本网站在线观看一区二区三区| 欧美性猛片xxxx免费看久爱| 国产精品一区在线观看乱码| 日本欧美韩国一区三区| 亚洲欧美偷拍三级| 欧美激情一区二区| 26uuu国产日韩综合| 日韩一卡二卡三卡四卡| 欧美无砖专区一中文字| 99精品视频一区二区三区| 极品尤物av久久免费看| 日韩中文字幕av电影| 夜夜操天天操亚洲| 亚洲色图都市小说| 中文字幕日韩av资源站| 欧美极品aⅴ影院| 精品久久久久久久久久久久久久久 | 国产精品欧美一级免费| 久久嫩草精品久久久精品| 欧美一区日本一区韩国一区| 在线观看亚洲一区| 色综合久久久久网| 99九九99九九九视频精品| 国产成人免费xxxxxxxx| 高清不卡在线观看av| 国产精品123| 国产白丝网站精品污在线入口| 一区二区三区不卡视频在线观看 | 国产一区二区三区香蕉| 日本 国产 欧美色综合| 免费成人在线播放| 美女视频网站黄色亚洲| 激情五月激情综合网| 日韩精品一级二级| 免费在线观看一区二区三区| 久久精品国产第一区二区三区| 亚洲欧美日韩电影| 尤物视频一区二区| 亚洲不卡av一区二区三区| 婷婷成人激情在线网| 日韩成人av影视| 美国毛片一区二区三区| 国内不卡的二区三区中文字幕| 亚洲一区二区在线观看视频| 亚洲精品日产精品乱码不卡| 亚洲国产精品天堂| 日韩高清在线观看| 国产经典欧美精品| a美女胸又www黄视频久久| 色av综合在线| 日韩视频一区二区在线观看| 亚洲精品一区二区三区在线观看 | 国产精品麻豆网站| 亚洲女同一区二区| 日精品一区二区| 丁香婷婷综合五月| 欧美网站一区二区| 这里是久久伊人| 久久精品夜色噜噜亚洲aⅴ| 国产精品热久久久久夜色精品三区| 日韩一区二区不卡| 国产精品另类一区| 香蕉久久夜色精品国产使用方法| 国产精品久久久久久久久晋中| 日韩精品专区在线影院观看| 国产视频不卡一区| 一区二区欧美在线观看| 激情小说欧美图片| 欧美性一级生活| 久久影音资源网| 亚洲成在线观看| 国产一区 二区 三区一级| 色婷婷综合久久久中文一区二区 | 亚洲色图清纯唯美| 麻豆精品视频在线观看免费| 成人av电影在线播放| 日韩三级精品电影久久久| 国产精品对白交换视频| 美女在线视频一区| 91黄色小视频| 欧美激情一区二区三区全黄| 午夜伊人狠狠久久| 99久久精品久久久久久清纯| 日韩午夜在线播放| 亚洲一区二区在线观看视频| 国产精品18久久久久久久久久久久 | 首页亚洲欧美制服丝腿| 国产精品一区二区男女羞羞无遮挡| 国产一区二区三区综合| 欧美精品久久99久久在免费线| 欧美日韩在线电影| 亚洲欧美在线视频观看| 九一久久久久久| 欧美日韩精品欧美日韩精品一综合| 91国偷自产一区二区开放时间| 99精品国产一区二区三区不卡| 不卡欧美aaaaa| 精品黑人一区二区三区久久| 亚洲一区日韩精品中文字幕| 不卡一区中文字幕| 精品国产乱码久久久久久牛牛 | 国产精品女同一区二区三区| 五月综合激情日本mⅴ| 色综合中文字幕国产| 26uuuu精品一区二区| 免费成人av在线| 制服丝袜国产精品| 午夜天堂影视香蕉久久| 色综合一区二区三区| 亚洲图片激情小说| 99视频精品在线| 国产精品久久久久久户外露出 | 午夜欧美在线一二页| 色久优优欧美色久优优| 亚洲同性gay激情无套| 成人精品高清在线| 国产精品视频在线看| av综合在线播放| 综合久久国产九一剧情麻豆| 97se亚洲国产综合自在线不卡| 欧美日韩一区二区三区在线看| 91麻豆精品国产91久久久更新时间| 精品国产一区二区三区忘忧草| 国产精品女主播在线观看| 国产成人精品影视| 欧美高清一级片在线观看| 国产成人免费视频网站| 国产精品理论片| 一本色道久久加勒比精品 | 久久久亚洲精品一区二区三区| 亚洲视频一区在线| 99精品热视频| 亚洲国产日产av| 欧美日韩国产精选| 全国精品久久少妇| 欧美mv日韩mv国产| 国产69精品久久777的优势| 国产精品美女久久久久久 | 日韩理论片一区二区| 91成人免费在线| 亚洲午夜激情av| 精品国产乱码久久久久久夜甘婷婷| 亚洲免费在线视频| 欧美日韩另类一区| 国产综合成人久久大片91| 久久香蕉国产线看观看99| www.成人在线| 亚洲一区在线免费观看| 欧美成人伊人久久综合网|