亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
69av一区二区三区| 狠狠色伊人亚洲综合成人| 丁香六月综合激情| 精品人伦一区二区色婷婷| 日日夜夜精品视频天天综合网| 91老师片黄在线观看| 国产日韩欧美在线一区| 久久成人18免费观看| 久久久国产精品不卡| 成人国产精品免费观看动漫| 亚洲精品欧美专区| 欧美日韩一区不卡| 激情六月婷婷综合| 国产精品久久久久久久久快鸭| 99视频精品免费视频| 一区二区高清在线| 欧美一区二区视频观看视频| 极品少妇xxxx精品少妇| 中文字幕不卡一区| 在线欧美一区二区| 另类小说色综合网站| 国产精品国产三级国产三级人妇 | 亚洲人亚洲人成电影网站色| 色国产综合视频| 青青草视频一区| 欧美经典一区二区| 欧美性高清videossexo| 日本在线不卡一区| 国产精品久久久久久一区二区三区| 91国内精品野花午夜精品| 麻豆久久一区二区| 中文字幕一区二区三区四区不卡 | 韩日av一区二区| 国产精品久久久久久亚洲毛片 | 一区二区三区美女| 精品久久久久久久久久久久久久久久久| 国产一区二区福利视频| 一区二区三区欧美亚洲| 日韩欧美一区二区免费| 91麻豆文化传媒在线观看| 午夜国产不卡在线观看视频| 久久久久国色av免费看影院| 欧美日韩国产一二三| 成人永久免费视频| 久久成人18免费观看| 亚洲午夜久久久久久久久电影院| 国产午夜亚洲精品理论片色戒| 欧洲国产伦久久久久久久| 韩国一区二区在线观看| 亚洲五月六月丁香激情| 中文字幕制服丝袜成人av| 日韩欧美第一区| 欧美午夜一区二区| 97se亚洲国产综合在线| 99久久综合色| 精品一区二区影视| 亚洲成a人在线观看| 亚洲日本中文字幕区| www.日韩在线| 欧美三级视频在线观看| 亚洲一区二区三区中文字幕在线| 欧美成人乱码一区二区三区| 欧美亚洲图片小说| 色先锋aa成人| gogo大胆日本视频一区| 韩国精品久久久| 蜜桃传媒麻豆第一区在线观看| 亚洲高清在线视频| 一区二区三区**美女毛片| 一色桃子久久精品亚洲| 欧美—级在线免费片| 国产午夜精品一区二区三区嫩草| 日韩精品一区二区三区在线观看| 欧美一区二区在线视频| 欧美三级韩国三级日本三斤| 色综合一区二区三区| 99免费精品在线观看| 91在线免费看| 99久久99久久精品免费观看 | 有坂深雪av一区二区精品| 国产精品三级视频| 中文一区二区完整视频在线观看| 久久久久久麻豆| 久久久久久久久久电影| 欧美精品一区二区三区久久久| 欧美va亚洲va国产综合| 日韩欧美综合一区| 2020国产成人综合网| 2023国产精品| 亚洲国产精品t66y| 国产精品国产a级| 一区二区三区在线影院| 亚洲电影在线免费观看| 日韩福利视频导航| 久久99国产精品久久99果冻传媒| 激情久久五月天| 国产91精品免费| 色综合中文字幕国产| 91在线一区二区三区| 欧美日韩免费电影| 日韩欧美黄色影院| 中文字幕免费一区| 亚洲主播在线播放| 人人爽香蕉精品| 国产精品一线二线三线精华| 成人丝袜高跟foot| 国产一区二区美女诱惑| 国产99久久久国产精品免费看| eeuss影院一区二区三区| 在线亚洲一区观看| 欧美一级一区二区| 国产精品久久久久久亚洲毛片| 有码一区二区三区| 精品制服美女丁香| 成人av集中营| 欧美日韩二区三区| 国产人成亚洲第一网站在线播放| 成人欧美一区二区三区| 日韩高清一区在线| 成人深夜视频在线观看| 欧美色网一区二区| 国产视频视频一区| 五月婷婷综合激情| eeuss鲁片一区二区三区| 91精品国产综合久久福利| 国产精品麻豆一区二区| 日韩 欧美一区二区三区| 成人午夜在线播放| 欧美日本精品一区二区三区| 中文字幕高清不卡| 日韩一区欧美二区| 97久久精品人人爽人人爽蜜臀 | 欧美日本一道本在线视频| 久久色在线观看| 午夜伊人狠狠久久| 99久久久国产精品免费蜜臀| 欧美一区二区性放荡片| 中文字幕精品一区| 激情五月婷婷综合| 欧美色偷偷大香| 国产精品国产三级国产普通话99| 蜜桃av一区二区三区电影| 91精品办公室少妇高潮对白| 久久亚洲一级片| 丝袜亚洲另类欧美| 91福利社在线观看| 中文在线一区二区| 国产精品一区二区久久不卡| 欧美日韩久久久| 亚洲在线观看免费| 色一情一伦一子一伦一区| 国产欧美一区二区三区鸳鸯浴| 免费成人av资源网| 欧美日韩高清不卡| 亚洲高清免费一级二级三级| 不卡视频在线观看| 国产欧美精品一区二区色综合| 日韩国产高清影视| 欧美精品在线视频| 亚洲成人黄色影院| 在线免费视频一区二区| 亚洲免费观看高清完整版在线观看熊 | 欧美乱妇20p| 亚洲电影中文字幕在线观看| 在线一区二区三区| 一区二区三区成人| 在线观看一区不卡| 亚洲一二三专区| 欧美日韩一区小说| 性做久久久久久| 欧美丰满少妇xxxbbb| 日韩影院在线观看| 日韩精品在线一区| 国产在线不卡一卡二卡三卡四卡| 日韩视频免费观看高清完整版| 日韩在线卡一卡二| 欧美一区二区免费视频| 久久99精品国产.久久久久| 精品国产一区二区三区久久影院| 国产一区二区三区综合| 久久久久国产精品免费免费搜索| 国产精品88av| 国产精品家庭影院| 欧美午夜寂寞影院| 日韩av二区在线播放| 精品三级在线看| 国产a精品视频| 亚洲精品ww久久久久久p站| 欧美特级限制片免费在线观看| 日韩国产在线一| 欧美一区二区三区日韩| 国产一区二区看久久| 国产精品激情偷乱一区二区∴| 91丨porny丨蝌蚪视频| 亚洲精品亚洲人成人网| 欧美日本一区二区三区| 国产在线视频一区二区| 中文字幕日韩欧美一区二区三区| 色又黄又爽网站www久久| 黄色精品一二区|