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

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

?? tcp.c

?? ZLG7290例程*ZLG7290匯編例程*讀EEPROM并顯示例程* 16×2LCD模塊例程*128×64點陣LCD模塊例程* 直連KEY和LED例程 直連LED例程* lin模塊的原碼及例程。LI
?? C
字號:
/*********************************************************************
 *			Copright(c) 2003,廣州周立功單片機發展有限公司 
 *						All rights reserved.
 *
 *文件名稱:	tcp.c
 *文件標識: 
 *摘    要: 在事件的驅動下,按照狀態轉移圖進行TCP協議的處理
 *
 *當前版本: V1.0
 *完成日期: 2003.2.28
 *
 *
 *********************************************************************/
#define  TCP_GLOBALS
#include "net_cfg.h"

/*****************************************************************
**函數原型: 	void 	TCP1024_Init()
**入口參數: 	無
**出口參數: 	無
**返 回 值:		無
**功能說明: 	初始化任務控制塊,使本地機進入listen狀態并清空重發緩沖區
******************************************************************/
void TCP1024_Init()
{
TCP1024.State=0;
TCP1024.My_Port=MY_TCP_PORT;
TCP1024.Send_Next=0x0000;
Resend_Buff.EtherFrame.RecStatus=0;//表示該重發緩沖區沒有數據

}

//==============================================================
/**********************************************************************
**函數原型:    void        Send_Reset()
**入口參數: 	無
**出口參數: 	無
**返 回 值:		無
**功能說明: 	發送TCP_RST數據報文,復位對方連接
******************************************************************/
void Send_Reset()
{ 
uchar i;
for(i=0;i<3;i++)
	{
	TxdNetBuff.EtherFrame.DestMacId[i]=RxdNetBuff.EtherFrame.SourceMacId[i];//目的網卡地址
	}
TxdNetBuff.EtherFrame.NextProtocal=0x0800;//協議為ip協議
TxdNetBuff.TcpFrame.SourcePort=RxdNetBuff.TcpFrame.DestPort;
TxdNetBuff.TcpFrame.DestPort=RxdNetBuff.TcpFrame.SourcePort;
TxdNetBuff.TcpFrame.offset=0x50;
TxdNetBuff.TcpFrame.window=0;
TxdNetBuff.TcpFrame.urg=0;
TxdNetBuff.TcpFrame.Crc=0;
TxdNetBuff.IpFrame.DestId[0]=RxdNetBuff.IpFrame.SourceIp[0];
TxdNetBuff.IpFrame.DestId[1]=RxdNetBuff.IpFrame.SourceIp[1];
TxdNetBuff.IpFrame.SourceIp[0]=My_Ip_Address.words[0];
TxdNetBuff.IpFrame.SourceIp[1]=My_Ip_Address.words[1];
TxdNetBuff.IpFrame.ttl=0;
TxdNetBuff.IpFrame.NextProtocal=6;//tcp
TxdNetBuff.IpFrame.Crc=20;
TxdNetBuff.TcpFrame.Crc=CreateTcpCrc();
Create_Ip_Frame(20,RxdNetBuff.IpFrame.SourceIp[0],RxdNetBuff.IpFrame.SourceIp[1],6);
}

/**********************************************************************
**函數原型:    void        Tcp_Listen( )
**入口參數: 	無
**出口參數: 	無
**返 回 值:	無
**功能說明: 	本地機進入listen狀態,可以對TCP_SYN或TCP_FIN請求進行處理
******************************************************************/
void Tcp_Listen()
{
	uchar i;
	/*if(RxdNetBuff.TcpFrame.control&(TCP_FIN))//reset
	{Send_Reset();}			//對方不接受請求,
	else*/
	if(RxdNetBuff.TcpFrame.control&TCP_SYN)//表示這是一個請求連接
	{
		for(i=0;i<2;i++)		//對方的ip地址
			{TCP1024.Dest_Ip[i]=RxdNetBuff.IpFrame.SourceIp[i];}
		for(i=0;i<3;i++)		//對方的以太網地址或網關地址
			{TCP1024.Dest_Mac_Id[i]=RxdNetBuff.EtherFrame.SourceMacId[i];}
		TCP1024.My_Port=MY_TCP_PORT;	//本機端口
		TCP1024.Dest_Port=RxdNetBuff.TcpFrame.SourcePort;//對方端口
		TCP1024.IRS=RxdNetBuff.TcpFrame.SeqNum;			//對方的初始化順序號
		TCP1024.Rcv_Next=RxdNetBuff.TcpFrame.SeqNum+1;	//對方的順序號,用于確認
		TCP1024.ISS=TCP1024.Send_Next;					//我的初始化順序號
		TCP1024.Sent_UnAck=TCP1024.ISS;					//我的未確認得序號
		TCP1024.Send_Next=TCP1024.ISS+1;				//我的順序號,用于發送
		TCP1024.My_Wl1=RxdNetBuff.TcpFrame.SeqNum;		//seq
		TCP1024.My_Wl2=TCP1024.Send_Next;				//
		TCP1024.Rcv_Window=RxdNetBuff.TcpFrame.window;	//對方的WINDOW大小
		TCP1024.Snd_Window=1024;						//通知對方本地最大接收1024字節的包,用于流控
		TCP1024.Dest_Max_Seg_Size=560;					//默認為560
		if(RxdNetBuff.TcpFrame.offset>20)
		if(RxdNetBuff.TcpFrame.tcpdata[0]==0x02)
		if(RxdNetBuff.TcpFrame.tcpdata[1]==0x04)		//0204為最大segment選項
		{
			TCP1024.Dest_Max_Seg_Size=RxdNetBuff.TcpFrame.tcpdata[2]*256+RxdNetBuff.TcpFrame.tcpdata[3];
		}
		TCP1024.My_Max_Seg_Size=1460;//本地機可以接受最大的以太網數據包
		//===========以下建立應答幀
		for(i=0;i<3;i++)//目的網卡地址
			{TxdNetBuff.EtherFrame.DestMacId[i]=TCP1024.Dest_Mac_Id[i];}
		TxdNetBuff.EtherFrame.NextProtocal=0x0800;//協議為ip協議
		TxdNetBuff.TcpFrame.SourcePort=TCP1024.My_Port;
		TxdNetBuff.TcpFrame.DestPort=TCP1024.Dest_Port;
		TxdNetBuff.TcpFrame.SeqNum=TCP1024.ISS;
		TxdNetBuff.TcpFrame.AckNum=TCP1024.Rcv_Next;

		TxdNetBuff.TcpFrame.offset=0x70;
		TxdNetBuff.TcpFrame.control=0x12; //syn+ack
		TxdNetBuff.TcpFrame.window=TCP1024.Snd_Window;
		TxdNetBuff.TcpFrame.urg=0;
		TxdNetBuff.TcpFrame.Crc=0;
		TxdNetBuff.IpPacket.IpPacket[20]=0x0204;//tcp選項
		TxdNetBuff.IpPacket.IpPacket[21]=TCP1024.My_Max_Seg_Size;
		TxdNetBuff.IpPacket.IpPacket[22]=0x0101;
		TxdNetBuff.IpPacket.IpPacket[23]=0x0101;
		TxdNetBuff.IpFrame.DestId[0]=TCP1024.Dest_Ip[0];
		TxdNetBuff.IpFrame.DestId[1]=TCP1024.Dest_Ip[1];
		TxdNetBuff.IpFrame.SourceIp[0]=My_Ip_Address.words[0];
		TxdNetBuff.IpFrame.SourceIp[1]=My_Ip_Address.words[1];
		TxdNetBuff.IpFrame.ttl=0;
		TxdNetBuff.IpFrame.NextProtocal=6;//tcp
		TxdNetBuff.IpFrame.Crc=28;
		TxdNetBuff.TcpFrame.Crc=CreateTcpCrc();
		Create_Ip_Frame(28,TCP1024.Dest_Ip[0],TCP1024.Dest_Ip[1],6);
		TCP1024.State=TCP_STATE_SYN_RCVD;//Tcp_SYN_Rec;
	}
	else if(RxdNetBuff.TcpFrame.control&TCP_RST)
		{;}
	else	
		{Send_Reset();}	
}
/**********************************************************************
**函數原型:    void        Delete_Socket()
**入口參數: 	無
**出口參數: 	無
**返 回 值:	無
**功能說明: 	撤銷本地連接,并清空重發緩沖區
******************************************************************/
void Delete_Socket()
{
TcpConnected=0;
TCP1024.State=0;
TCP1024.ISS=TCP1024.ISS+10;//
Resend_Buff.EtherFrame.RecStatus=0;//表示該重發緩沖區沒有數據
Printf_String("Disconnect!\r\n");
}
/**********************************************************************
**函數原型:    void        Resend_Packet( )
**入口參數: 	uchar   i
**出口參數: 	無
**返 回 值:		無
**功能說明: 	重發出錯的數據包
******************************************************************/
void Resend_Packet()
{
uint ii;
uchar xdata *txd=&TxdNetBuff;
uchar xdata *rt;

rt=&Resend_Buff.bytes.bytebuf;
for(ii=0;ii<Resend_Buff.ResendFrame.length+4;ii++)
	{
	(*txd)=(*rt);
	rt++;
	txd++;
	}
Send_Packet(&TxdNetBuff,Resend_Buff.ResendFrame.length);
Resend_Buff.ResendFrame.timeout=RtTime;
}

/**********************************************************************
**函數原型:    void        Process_Resend_Buff( )
**入口參數: 	無
**出口參數: 	無
**返 回 值:		無
**功能說明: 	根據接收數據的序號以及超時時間對重發緩沖區的數據進行處理
******************************************************************/
void Process_Resend_Buff()
{

if(Resend_Buff.ResendFrame.timeout>0)
	Resend_Buff.ResendFrame.timeout--;	//數據報的重發次數減一,防止TCP死鎖
if(Resend_Buff.EtherFrame.RecStatus!=0)	//表示需要重發緩沖區的數據
	{
	if(Resend_Buff.TcpFrame.SeqNum<TCP1024.Sent_UnAck)
		//下一個待發送的數據的序號應該大于TCP1024.Sent_UnAck,因為
		//tcp1024.snd_una表示上一個已發送的數據字節的序號,如果
		//重發緩沖區的數據對應的序號小于TCP1024.Sent_UnAck,則說明數據
		//已正確發送了,重發緩沖區內的備份的數據就沒有用了,因此
		//這個數據包已經過期了,可以拋棄掉,將緩沖區置為無效。
   		{Resend_Buff.ResendFrame.RtStatus=0;}//該緩沖區無效
		
	else if(Resend_Buff.ResendFrame.timeout==0)//超時,或重發次數到
	  	{//如果重發緩沖區的數據包的序號大于等于未或確認的數據序號時待發送重發
       	Resend_Buff.ResendFrame.RtStatus++;//重發次數加一
		if(Resend_Buff.ResendFrame.RtStatus==TCP_MAX_RETXD)
			{	//重發TCP_MAX_RETXD次都無法正確發送時,撤銷本地連接
			Delete_Socket();
		    }
		else	//繼續重發
           Resend_Packet();
		}
	}
}
/**********************************************************************
**函數原型:    void        Tcp_SYN_Sent( )
**入口參數: 	無
**出口參數: 	無
**返 回 值:	無
**功能說明: 	本地機主動發送SYN后,即可進入本狀態,該狀態下,
**        : 	可接收幾種數據:tcp_rst或tcp_syn或tcp_syn+tcp_ack
******************************************************************/
void Tcp_SYN_Sent()
{
unsigned char i;
	if(((RxdNetBuff.TcpFrame.AckNum<=TCP1024.ISS)||(RxdNetBuff.TcpFrame.AckNum>TCP1024.Send_Next))
	&&(RxdNetBuff.TcpFrame.control&TCP_ACK))
	{	//對方發回的確認號應是我的初始化序號加1,若比我的初始化序號小
		//或大于我的下一個序號,則說明對方連接出錯
		if(!(RxdNetBuff.TcpFrame.control&TCP_RST))
		{//對方不接受請求
			TxdNetBuff.TcpFrame.SeqNum=RxdNetBuff.TcpFrame.AckNum;
			TxdNetBuff.TcpFrame.AckNum=0;
			TxdNetBuff.TcpFrame.control=TCP_RST;
			Send_Reset();//復位對方連接
		}
		else//對方發來復位請求,因此撤銷本地的連接
			{Delete_Socket();}
	}
	else if(RxdNetBuff.TcpFrame.control&(TCP_SYN))
	{
		TCP1024.IRS=RxdNetBuff.TcpFrame.SeqNum;			//對方的初始化順序號
		TCP1024.Rcv_Next=RxdNetBuff.TcpFrame.SeqNum+1;	//對方的順序號,我可以用于給對方確認
		if(RxdNetBuff.TcpFrame.control&TCP_ACK)
		{
			TCP1024.Sent_UnAck=RxdNetBuff.TcpFrame.AckNum;//我的未或確認得序號
			Process_Resend_Buff();
		}
		if(TCP1024.Sent_UnAck>=TCP1024.ISS)
		{	//表示在一個由我發起的三次連接的過程中,對方已經對我的連接請求發回了確認
			TCP1024.IRS=RxdNetBuff.TcpFrame.SeqNum;
			TCP1024.Rcv_Window=RxdNetBuff.TcpFrame.window;	//對方的window大小,表示對方可以接收的最大數據包的大小
			TCP1024.Dest_Max_Seg_Size=560;//默認為560
			if(RxdNetBuff.TcpFrame.offset>20)
			if(RxdNetBuff.TcpFrame.tcpdata[0]==0x02)
			if(RxdNetBuff.TcpFrame.tcpdata[1]==0x04)//0204為最大segment選項
			{
			 	TCP1024.Dest_Max_Seg_Size=RxdNetBuff.TcpFrame.tcpdata[2]*256+RxdNetBuff.TcpFrame.tcpdata[3];
			}
			//發送確認
			//===========以下建立應答幀
			for(i=0;i<3;i++)//目的網卡地址
				{TxdNetBuff.EtherFrame.DestMacId[i]=TCP1024.Dest_Mac_Id[i];}
			TxdNetBuff.EtherFrame.NextProtocal=0x0800;//協議為ip協議
			TxdNetBuff.TcpFrame.SourcePort=TCP1024.My_Port;
			TxdNetBuff.TcpFrame.DestPort=TCP1024.Dest_Port;
			TxdNetBuff.TcpFrame.SeqNum=TCP1024.Send_Next;
			TxdNetBuff.TcpFrame.AckNum=TCP1024.Rcv_Next;
			TxdNetBuff.TcpFrame.offset=0x50;
			TxdNetBuff.TcpFrame.control=TCP_ACK; 
			TxdNetBuff.TcpFrame.window=TCP1024.Snd_Window;
			TxdNetBuff.TcpFrame.urg=0;
			TxdNetBuff.TcpFrame.Crc=0;
			TxdNetBuff.IpFrame.DestId[0]=TCP1024.Dest_Ip[0];
			TxdNetBuff.IpFrame.DestId[1]=TCP1024.Dest_Ip[1];
			TxdNetBuff.IpFrame.SourceIp[0]=My_Ip_Address.words[0];
			TxdNetBuff.IpFrame.SourceIp[1]=My_Ip_Address.words[1];
			TxdNetBuff.IpFrame.ttl=0;
			TxdNetBuff.IpFrame.NextProtocal=6;//tcp
			TxdNetBuff.IpFrame.Crc=20;
			TxdNetBuff.TcpFrame.Crc=CreateTcpCrc();
			Create_Ip_Frame(20,TCP1024.Dest_Ip[0],TCP1024.Dest_Ip[1],6);
			TCP1024.State=TCP_STATE_ESTABLISHED;
			TcpConnected=1;
			Printf_String("\r\nOK,connected.\r\nC:>");
		}
		else 
		{//說明對方同時發出連接請求
			TCP1024.State=TCP_STATE_SYN_RCVD;
			//===========下面建立應答幀
			for(i=0;i<3;i++)//目的網卡地址
				{TxdNetBuff.EtherFrame.DestMacId[i]=TCP1024.Dest_Mac_Id[i];}
			TxdNetBuff.EtherFrame.NextProtocal=0x0800;//以太網協議的下層協議為IP協議
			TxdNetBuff.TcpFrame.SourcePort=TCP1024.My_Port;
			TxdNetBuff.TcpFrame.DestPort=TCP1024.Dest_Port;
			TxdNetBuff.TcpFrame.SeqNum=TCP1024.Send_Next;
			TxdNetBuff.TcpFrame.AckNum=TCP1024.Rcv_Next;
			TxdNetBuff.TcpFrame.offset=0x70;
			TxdNetBuff.TcpFrame.control=TCP_ACK+TCP_SYN; //TCP_ACK+TCP_SYN
			TxdNetBuff.TcpFrame.window=TCP1024.Snd_Window;
			TxdNetBuff.TcpFrame.urg=0;
			TxdNetBuff.TcpFrame.Crc=0;
			TxdNetBuff.IpPacket.IpPacket[20]=0x0204;//有TCP選項
			TxdNetBuff.IpPacket.IpPacket[21]=TCP1024.My_Max_Seg_Size;
			TxdNetBuff.IpPacket.IpPacket[22]=0x0101;
			TxdNetBuff.IpPacket.IpPacket[23]=0x0101;
			TxdNetBuff.IpFrame.DestId[0]=TCP1024.Dest_Ip[0];
			TxdNetBuff.IpFrame.DestId[1]=TCP1024.Dest_Ip[1];
			TxdNetBuff.IpFrame.SourceIp[0]=My_Ip_Address.words[0];
			TxdNetBuff.IpFrame.SourceIp[1]=My_Ip_Address.words[1];
			TxdNetBuff.IpFrame.ttl=0;
			TxdNetBuff.IpFrame.NextProtocal=6;
			TxdNetBuff.IpFrame.Crc=28;
			TxdNetBuff.TcpFrame.Crc=CreateTcpCrc();
			Create_Ip_Frame(28,TCP1024.Dest_Ip[0],TCP1024.Dest_Ip[1],6);
		}
	}
}
/**********************************************************************
**函數原型:    void        Tcp_SYN_Rec( )
**入口參數:		無
**出口參數:		無
**返 回 值:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品日本一线二线三线不卡| 6080yy午夜一二三区久久| 亚洲五月六月丁香激情| 日韩一二在线观看| 色爱区综合激月婷婷| 极品少妇一区二区三区精品视频| 亚洲色欲色欲www在线观看| 欧美一区二区三区爱爱| 成人不卡免费av| 九九**精品视频免费播放| 一级中文字幕一区二区| 国产日本欧洲亚洲| 日韩欧美一区二区在线视频| 色哟哟国产精品| 成人在线一区二区三区| 久久99热99| 婷婷国产v国产偷v亚洲高清| 亚洲黄一区二区三区| 国产精品你懂的| 久久日韩粉嫩一区二区三区| 欧美精品日韩综合在线| 91美女精品福利| 风流少妇一区二区| 激情综合亚洲精品| 美女在线视频一区| 琪琪久久久久日韩精品| 五月激情六月综合| 亚洲一区二区综合| 亚洲综合一区在线| 一区二区欧美国产| 亚洲精品日日夜夜| 亚洲人成影院在线观看| 国产精品久久久久影视| 欧美经典一区二区| 日本一区二区三区四区在线视频| 日韩一区二区影院| 欧美一区二区在线免费播放| 在线欧美日韩精品| 在线观看视频一区| 一本色道久久综合亚洲91 | 亚洲永久精品大片| 一区二区三区在线视频免费观看| 亚洲三级在线看| 亚洲女同女同女同女同女同69| 国产精品久久久久久久久久久免费看| 国产人成一区二区三区影院| 欧美国产激情二区三区| 中文字幕精品一区二区三区精品| 久久久91精品国产一区二区三区| 久久久99久久| 成人欧美一区二区三区黑人麻豆 | 777精品伊人久久久久大香线蕉| 欧美在线不卡视频| 欧美在线播放高清精品| 欧美日韩三级一区二区| 欧美日本一区二区三区四区| 91.成人天堂一区| 日韩一区二区不卡| 久久久久久久一区| 亚洲欧洲www| 亚洲一区免费观看| 日韩不卡手机在线v区| 久久超碰97中文字幕| 国产伦精品一区二区三区免费| 国产成人亚洲综合a∨婷婷| 北岛玲一区二区三区四区| 色综合天天天天做夜夜夜夜做| 欧美在线色视频| 日韩欧美久久久| 国产精品国产三级国产普通话99| 亚洲激情自拍偷拍| 久久精品99久久久| 成人免费视频网站在线观看| 欧美性感一类影片在线播放| 欧美一卡二卡在线| 欧美国产成人精品| 亚洲小说春色综合另类电影| 伦理电影国产精品| 99久久久免费精品国产一区二区 | 91精品国产综合久久小美女| 国产日韩影视精品| 亚洲第一搞黄网站| 国产成人在线视频免费播放| 欧美伊人精品成人久久综合97 | 日本一区二区三区免费乱视频| 一区二区三区国产豹纹内裤在线 | 国产成人综合精品三级| 91福利在线观看| 久久久五月婷婷| 亚洲国产视频直播| 国产成人在线网站| 欧美精品第1页| 欧美激情一区二区三区全黄| 五月天丁香久久| 成人涩涩免费视频| 欧美一二三四在线| 亚洲色图20p| 黄色资源网久久资源365| 色婷婷一区二区三区四区| 精品欧美一区二区三区精品久久| 亚洲欧美日韩国产综合| 六月丁香综合在线视频| 在线免费观看视频一区| 国产亚洲成aⅴ人片在线观看 | 国产精品动漫网站| 免费成人美女在线观看.| 91麻豆高清视频| 国产日产亚洲精品系列| 无码av免费一区二区三区试看 | 日韩一区二区不卡| 亚洲线精品一区二区三区| 成人白浆超碰人人人人| 精品国产sm最大网站| 天堂成人国产精品一区| 色综合久久中文字幕综合网| 国产亚洲欧洲997久久综合| 日韩和欧美的一区| 色综合视频在线观看| 亚洲国产精品v| 国产乱码一区二区三区| 3atv一区二区三区| 亚洲福中文字幕伊人影院| 99re在线精品| 国产精品污网站| 国产激情偷乱视频一区二区三区| 日韩欧美电影一二三| 视频在线观看91| 欧美日韩精品是欧美日韩精品| 亚洲欧美日韩国产综合| 91日韩一区二区三区| 国产精品嫩草影院com| 国产传媒一区在线| 久久久久久久av麻豆果冻| 精品一区二区综合| 日韩欧美不卡在线观看视频| 午夜久久福利影院| 精品视频在线免费观看| 亚洲综合免费观看高清完整版在线 | 欧美高清视频一二三区| 亚洲bdsm女犯bdsm网站| 欧美猛男男办公室激情| 亚洲不卡在线观看| 欧美日韩国产bt| 日日摸夜夜添夜夜添精品视频 | 亚洲五码中文字幕| 欧美丝袜第三区| 日韩国产一二三区| 欧美一区二区三区电影| 久久成人免费网| 久久久久久久电影| 国产精品资源网站| 国产午夜一区二区三区| 国产一区二区电影| 精品成人一区二区| 国产精品自拍av| 亚洲国产精品传媒在线观看| 91视频www| 亚洲第一成人在线| 欧美日韩一本到| 精品一区中文字幕| 久久精品日产第一区二区三区高清版 | 色综合视频一区二区三区高清| ...av二区三区久久精品| 欧美在线999| 亚洲电影你懂得| 欧美精品久久99| 精品夜夜嗨av一区二区三区| 中文字幕免费在线观看视频一区| 高清不卡一二三区| 亚洲天堂av一区| 色婷婷综合久色| 免费观看一级欧美片| 精品国产一区二区三区忘忧草| 国模套图日韩精品一区二区| 3d成人动漫网站| 成人av动漫在线| 亚洲综合一区二区精品导航| caoporen国产精品视频| 国产精品久久久久久久久久久免费看| 99国产一区二区三精品乱码| 亚洲精品乱码久久久久久黑人| 欧美日韩在线播放| 久久黄色级2电影| 一区在线播放视频| 色94色欧美sute亚洲线路一ni | 国产午夜精品一区二区三区嫩草 | 成人午夜精品在线| 亚洲欧美日韩国产手机在线| 91免费看片在线观看| 午夜视频一区二区| 国产精品美女一区二区| 欧美日韩一级片网站| 成人福利视频网站| 亚洲自拍都市欧美小说| 亚洲精品在线免费播放| 欧美亚洲一区二区三区四区| 麻豆国产精品一区二区三区| 国产欧美久久久精品影院 | 国产一区在线精品| 亚洲高清免费视频|