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

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

?? modeocom.cpp

?? modem串口接口,通過它可與方便與modem通信。
?? CPP
?? 第 1 頁 / 共 2 頁
字號:
	//if(R_Waite_Event==NULL || R_Message_Event==NULL) return;
	::SetEvent(R_Message_Event);
	Sleep(0);
	return;
	WaitForSingleObject(R_Waite_Event,2000+DEBUG_TIME);
	::ResetEvent(R_Waite_Event);
}
long ModeoCom::GetLength(){return R_ln;}
long ModeoCom::Read(void * lpData, WORD ln)
{
	int k;
	k=ln;
	if(ln>m_ln) k=m_ln;
	memcpy(lpData,m_buf,k);
	m_ln-=k;
	if(m_ln<0) m_ln=0;
	//::SetEvent(R_Waite_Event);//通知等待線程,數(shù)據(jù)已OK
	return k;
}
void ModeoCom::Cls()
{
	R_ln=0;
	m_Code=0;
	if(Read_Event!=NULL) ::ResetEvent(Read_Event);
}

long ModeoCom::Send(void * lpData, WORD ln)
{
	int f,k,lw,s,n;
	static BYTE ch[64];
	BYTE *ip=(BYTE*)lpData;
	if(hCom==NULL||hCom==(void*)0xffffffff)  return 0;
	lw=0;
	while(lw<ln)
	{
		k=ln-lw;
		if(k==0) return ln;
		if(k>1750) k=1750;
		*(DWORD*)&S_buf[0]=0xBABABABA;
		*(WORD*) &S_buf[6]=ln;
		*(DWORD*)&S_buf[8]=GetCRC32(&ip[lw],k);
		*(DWORD*)&S_buf[12]=GetTickCount();//本次數(shù)據(jù)ID
		*(WORD*) &S_buf[4]=k;//本次數(shù)據(jù)長
		memcpy(&S_buf[16],&ip[lw],k);
		lw+=k;
		k+=16;
		f=0;
		while(f<8)
		{
			Cls();//清隊收發(fā)標致
			n=0;
			while(n<4)
			{
				if(TxData(S_buf,k)==k) break;
				sprintf((char*)ch,"ERR1:A=%d,B=%d,C=%d,T=%d,k=%d",m_Code,m_Link,f,n,k);
				SaveData((char*)ch);
				n++;
			}

			if(Waite(5000))break;
			
			if(m_Link!=16)
			{
				sprintf((char*)ch,"ERR4:A=%d,B=%d,C=%d,T=%d,k=%d",m_Code,m_Link,f,n,k);
				SaveData((char*)ch);
				return -1;
				//已斷線了
			}

			if(m_Code!=1)
			{
				sprintf((char*)ch,"ERR2:A=%d,B=%d,C=%d,R=%d",m_Code,m_Link,f,R_ln);
				SaveData((char*)ch);
				Sleep(500);
				if(m_Code==0) Sleep(5000-f*500);
				memset(ch,0,32);
				for(s=0;s<56;s++) TxData(ch,32);//補發(fā)一次零數(shù)據(jù),已清空對方結緩沖區(qū)
			}
			f++;
		}
	}
	if(lw!=ln)
	{
		sprintf((char*)ch,"ERR3:A=%d,B=%d,C=%d",m_Code,m_Link,f);
		SaveData((char*)ch);
	}
	return lw;
}

BOOL ModeoCom::TestLink()
{
	if(hCom==NULL||hCom==(void*)0xffffffff) return FALSE;
	return TRUE;
}


/*
第一步:執(zhí)行MODEO復位操作  ATZ0
執(zhí)行ATW2要求返回實際連接速度
第二步:ATD電話號碼。
數(shù)據(jù)傳送

如果數(shù)據(jù)發(fā)不出?

第三步:+++
第四步:ATH0掛機
*/
BOOL ModeoCom::TallPh(char * tall)//撥號
{
	DWORD k;
	MSG   msg;
	R_ln=0;
	if(hCom==NULL||hCom==(void*)0xffffffff)  return FALSE;
	m_RxSeek=0;
	m_TxSeek=0;
	m_Code=0;
	R_ln=0;
	m_NEW=FALSE;
	m_BEAK_ph=TRUE;
	memset(Err_code,0,32);
	memset(S_buf,0,128);
	sprintf((char*)S_buf,"ATDT%s",tall);
	k=strlen((char*)S_buf);
	S_buf[k]=0x0D;k++;
	if(TxData(S_buf,k)!=(long)k)
	{
		sprintf(Err_code,"無法發(fā)送號碼:%s",tall);
		return FALSE;
	}
	Sleep(1000);//等-秒
	m_NEW=FALSE;
	m_End_Code=128;
	m_Link=1;//正在連接
	k=GetTickCount();
	while(GetTickCount()-k<60000)
	{
		
		switch(m_End_Code)
		{
		case 0://0、已連接
			strcpy(Err_code,"OK,已成功連接");
			if(m_TxSeek==0) m_TxSeek=m_RxSeek;
			R_ln=0;
			m_ln=0;
			m_Input=0;
			m_End_Code=128;
			m_Link=16;
			return TRUE;
			break;
		case 1://1、OK
			break;
		case 2://2、來電
			strcpy(Err_code,"來電");
			k=130;
			break;
		case 3://對方不應答
			strcpy(Err_code,"對方不應答");
			R_ln=0;
			m_End_Code=128;
			m_Link=0;
			return FALSE;
			break;
		case 4://4、錯誤
			R_ln=0;
			m_End_Code=128;
			m_Link=0;
			return FALSE;
			break;
		case 5://5、未檢測到撥號音
			strcpy(Err_code,"沒有撥號音");
			R_ln=0;
			m_End_Code=128;
			m_Link=0;
			return FALSE;
			break;
		case 6://6、檢測到忙音 
			strcpy(Err_code,"電話占線或對方不應答");
			R_ln=0;
			m_End_Code=128;
			m_Link=0;
			return FALSE;
			break;
		case 7://7、無靜音應答 
			strcpy(Err_code,"無靜音應答");
			R_ln=0;
			m_End_Code=128;
			m_Link=0;
			return FALSE;
			break;
		case 8://8、所撥的號碼已延遲 
			strcpy(Err_code,"來電");
			R_ln=0;
			m_End_Code=128;
			m_Link=0;
			return FALSE;
			break;
		default:
			Sleep(20);
		
			if(!m_BEAK_ph)
			{
				strcpy(Err_code,"手動掛斷電話了");
				return FALSE;
			}
			break;
		}
	}
	m_Link=0;
	strcpy(Err_code,"等待超時,沒有收到調解器的任何有用信息");
	m_End_Code=128;
	return FALSE;
}

DWORD ModeoCom::FenTallChar(BOOL TX)
{
	int n,f;
	if(R_ln==0) return 128;
	for(int k=0;k<R_ln;k++)
	{
		for(n=0;n<MAX_COMMDAND_STR;n++)
		{
	       if(memcmp(End_code[n],&R_buf[k],strlen(End_code[n]))==0)
		   {
			   if(TX)
			   {
				   k+=strlen(End_code[n]);
				   for(f=0;f<R_ln-k;f++)
				   {
					   R_buf[f]=R_buf[f+k];
				   }
				   if(R_ln>k) R_ln-=k;
				   else R_ln=0;
			   }
			   return n;
		   }
		}
	}

	return 128;
}

BOOL ModeoCom::SendCommand(char * comx)//執(zhí)行AT指令
{
	BYTE ch[64];
	MSG   msg;
	if(hCom==NULL||hCom==(void*)0xffffffff)  return FALSE;
	DWORD tx=8000;
	memset(command,0,64);
	strcpy((char*)ch,comx);
	DWORD k=strlen((char*)ch);
	command_ln=k;
	strcpy(command,comx);
	if(strcmp(comx,"AT")==0) tx=1000;
	ch[k]=0x0D;
	k++;
	m_End_Code=128;
	SaveData(comx);
	if(strcmp(comx,"+++")==0) k=3;
	if(memcmp(comx,"ATA",3)==0) tx=60000;//如果是應答命令則等長一些 
	if(TxData(ch,k)!=(long)k) return FALSE;
	Sleep(50);
	k=GetTickCount();
	while(GetTickCount()-k<tx)
	{
		switch(m_End_Code)
		{
		case 1:
			m_End_Code=128;
			return TRUE;
			break;
		case 4:
			m_End_Code=128;
			return FALSE;
			break;
		case 128:
		
			break;
		default:
			m_End_Code=128;
			return TRUE;
			break;
		}
	}
	SaveData("超時");
	m_End_Code=128;
	return FALSE;
}


BOOL ModeoCom::FindThDataMac()//分析來電顯示 
{
	BOOL Tm[3];
	int k,n;
	Tm[0]=FALSE;
	Tm[1]=FALSE;
	Tm[2]=FALSE;
	if(R_ln==8) return FALSE;
	for(k=0;k<R_ln;k++)
	{
		if(*(DWORD*)&R_buf[k] == *(DWORD*)"DATE") Tm[0]=TRUE;
		if(*(DWORD*)&R_buf[k] == *(DWORD*)"TIME") Tm[1]=TRUE;
		if(*(DWORD*)&R_buf[k] == *(DWORD*)"NMBR") Tm[2]=TRUE;
	}
	if(!Tm[0] || !Tm[1] || !Tm[2]) return FALSE;//沒有來電

	memset(VCID_time,0,16);
	memset(VCID_data,0,16);
	memset(VCID_ph,0,32);
	//把后繼數(shù)據(jù)取完
	do
	{
		Sleep(100);
		n=GetRvcLength();
		if(n>0)
		{
			m_Tall_time=GetTickCount();
			if(R_ln>65535) R_ln=0;
			k=65535-R_ln;
			if(k>n) k=n;
			k=RxData(&R_buf[R_ln],k);
			if(k>0) R_ln+=k;
			R_buf[R_ln]=0;
		}

	}while(n>0);

	for(k=0;k<R_ln;k++)
	{
		if(*(DWORD*)&R_buf[k] == *(DWORD*)"TIME") 
		{
			k+=4;
			n=k;
			while(k<R_ln)
			{
				if(R_buf[k]>='0' && R_buf[k]<='9') //去掉前面的空格
				{
					n=k;
					break;
				}
				k++;
			}
			while(k<R_ln)
			{
				if(R_buf[k]<'0' || R_buf[k]>'9')
				{
					R_buf[k]=0;
					break;
				}
				k++;
			}
			if(strlen((char*)&R_buf[n])<16)strcpy(VCID_time,(char*)&R_buf[n]);//來電時間
		}


		if(*(DWORD*)&R_buf[k] == *(DWORD*)"DATE")
		{
			k+=4;
			n=k;
			while(k<R_ln)
			{
				if(R_buf[k]>='0' && R_buf[k]<='9') //去掉前面的空格
				{
					n=k;
					break;
				}
				k++;
			}
			while(k<R_ln)
			{
				if(R_buf[k]<'0' || R_buf[k]>'9')
				{
					R_buf[k]=0;
					break;
				}
				k++;
			}
			if(strlen((char*)&R_buf[n])<16)strcpy(VCID_data,(char*)&R_buf[n]);//來電時間
		}

		if(*(DWORD*)&R_buf[k] == *(DWORD*)"NMBR")
		{
			k+=4;
			n=k;
			while(k<R_ln)
			{
				if(R_buf[k]>='0' && R_buf[k]<='9') //去掉前面的空格
				{
					n=k;
					break;
				}
				k++;
			}
			while(k<R_ln)
			{
				if(R_buf[k]<'0' || R_buf[k]>'9')
				{
					R_buf[k]=0;
					break;
				}
				k++;
			}
			if(strlen((char*)&R_buf[n])<32)
			{
				strcpy(VCID_ph,(char*)&R_buf[n]);//來電號碼
				m_End_Code=32;//顯電了
				m_End_CodeEx=32;
				sprintf(command_str,"電話:%s 時間:%s:%s",VCID_ph,VCID_data,VCID_time);
				//sprintf(command_ok, "電話:%s 時間:%s:%s",VCID_ph,VCID_data,VCID_time);
				sprintf(command_ok,"來電:%s",VCID_ph);
				m_NEW=TRUE;
				Sleep(200);
				R_ln=0;
				return TRUE;
			}
		}
	}
	memset(VCID_time,0,16);
	memset(VCID_data,0,16);
	memset(VCID_ph,0,32);
	return FALSE;
}
void ModeoCom::AddTall(char * ip)//加入電話號碼
{
	if(ip[0]==0) return;
	strcpy(MAC_th[num],ip);
	if(num<32) num++;
}
void ModeoCom::DownPh()
{
	if(m_Link==0) return;
	if(m_Link==16)SendCommand("+++");
	sprintf(command_ok,"請稍后,掛斷電話");
	m_NEW=TRUE;
	
	if(SendCommand("ATH0"))
	{
		SaveData("掛斷電話");
	    m_Link=0;
		m_BEAK_ph=FALSE;
		sprintf(command_ok,"OK!電話已掛斷");
	    m_NEW=TRUE;
		if(m_hWnd!=NULL)::PostMessage(m_hWnd,RING_COM,3,0);
	}
}

void ModeoCom::Link()//手動連接
{
	m_Link=1;//正在連接
	SaveData("手動應答");
	sprintf(command_ok,"請稍后,正在應答......");
	m_NEW=TRUE;
	SendCommand("ATA");
	SaveData("手動應答OK");
}

void ModeoCom::PhAutoMac()//根據(jù)電話號碼應答
{
	int k,n,ln,lx;
	lx=strlen((char*)VCID_ph);
	for(k=0;k<num;k++)
	{
		ln=strlen((char*)MAC_th[k]);
		ln-=lx;
		for(n=0;n<=ln;n++)
		{
			if(memcmp(&MAC_th[k][n],VCID_ph,lx)==0)
			{
				SaveData("號嗎應答ATA");
				m_Link=1;//正在連接
				sprintf(command_ok,"正在應答:%s",VCID_ph);
				m_NEW=TRUE;
				//SendCommand("ATA");
				BYTE cx[8];
				strcpy((char*)cx,"ATA");
				cx[3]=0x0D;
				TxData(cx,4);
				SaveData(command_ok);
				return;
			}
		}
	}
}



void ModeoCom::Lock()
{
	if(hMutex ==NULL) hMutex=OpenMutex(MUTEX_ALL_ACCESS,FALSE,"MODEM_SEND_Mutex");//申請同步事件
	if(hMutex!=NULL)  WaitForSingleObject(hMutex,10000);//==WAIT_OBJECT_0) 
}

void ModeoCom::UnLock()
{
	ReleaseMutex(hMutex);
}

void ModeoCom::SaveData(char *ip)
{
	BYTE buf[32];
	if(OPEN==0)
	{
		if(!m_fp.Open("modemdata.ini",CFile::modeWrite))
		{
#ifdef _DEBUG

			if(!m_fp.Open("modemdata.ini",CFile::modeWrite|CFile::modeCreate))
			{
				OPEN=1;
			    return;
			}
			else
			{
				OPEN=16;
			}

#else

			OPEN=1;
			return;
#endif
			
		}
		else
		{
			OPEN=16;
			m_fp.SeekToEnd();
			m_fp.Write("-----------------------------",strlen("-----------------------------"));
			buf[0]=0x0D;
			buf[1]=0x0A;
			m_fp.Write(buf,2);
		}
	}
	if(OPEN!=16) return;

	SYSTEMTIME ts;


	::GetLocalTime(&ts);
	sprintf((char*)buf,"%02d %02d:%02d:%02d ",ts.wDay,ts.wHour,ts.wMinute,ts.wSecond);
	m_fp.SeekToEnd();
	m_fp.Write(buf,strlen((char*)buf));
	m_fp.Write(ip,strlen(ip));
	buf[0]=0x0D;
	buf[1]=0x0A;
	m_fp.Write(buf,2);
}

DWORD ModeoCom::GetTai(){return m_Link;}
BOOL ModeoCom::GetVCIDph()
{
	if(VCID_ph[0]==0) return FALSE;
	return TRUE;
}

char* ModeoCom::GetTallName(){return VCID_ph;}

void ModeoCom::SendKey(BYTE TR, UINT nChar, UINT nRepCnt, UINT nFlags)
{
	
	BYTE mx[32];
	memset(mx,0,16);
	*(DWORD*)&mx[0]=0xBABABAB2;
	mx[4]=TR;
	mx[5]=nChar;
	mx[6]=nRepCnt;
	mx[7]=nFlags;
	TxData(mx,8);

	/*KEY_TABE[5]=TR;
	KEY_TABE[6]=nChar;
	KEY_TABE[7]=nRepCnt;
	KEY_TABE[8]=nFlags;
	TxData(KEY_TABE,16*4);*/


}

void ModeoCom::SendMouse(DWORD key, CPoint point)
{
	BYTE mx[32];
	*(DWORD*)&mx[0]=0xBABABAB1;
	*(DWORD*)&mx[4]=key;
	*(CPoint*)&mx[8]=point;
	TxData(mx,16);
}

int ModeoCom::SendExMessage(void *lpData, WORD ln)
{
	if(hCom==NULL||hCom==(void*)0xffffffff)  return 0;
	Cls();//清隊收發(fā)標致
	if(TxData(lpData,ln)!=ln) return 0;		
	if(WaiteEx(5000)) return 1;
	return m_Code;
}

BOOL ModeoCom::WaiteEx(DWORD tx)
{
	Sleep(0);//切換線程
	MSG   msg;
	if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
	{
		if(GetMessage(&msg, NULL, 0, 0) == FALSE)
		{
		}
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}
	if(m_Code==1) return TRUE;
	if(m_Code==2) return FALSE;
	DWORD tr=GetTickCount();
	while(GetTickCount()-tr<tx+DEBUG_TIME)
	{

		if(m_Code==1) return TRUE;
		if(m_Code==2) return FALSE;
		if(PeekMessage(&msg, NULL, 0, 0, PM_NOREMOVE))
		{
			if(GetMessage(&msg, NULL, 0, 0) == FALSE)
			{
			}
			TranslateMessage(&msg);
			DispatchMessage(&msg);
		}
		if(Read_Event!=NULL)
		{
			::WaitForSingleObject(Read_Event,1000);
			::ResetEvent(Read_Event);
		}
		if(m_Code==1) return TRUE;
		if(m_Code==2) return FALSE;

	}
	return FALSE;
}

BOOL ModeoCom::RxFile(int k, BYTE *m_sou)
{
	

	return TRUE;
}

void ModeoCom::GetPh(DWORD ID)
{
	BYTE buf[16];
	*(DWORD*)&buf[0]=0xBFBCBE9F;
	*(DWORD*)&buf[4]=ID;
	TxData(buf,8);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩不卡一区| 亚洲国产日韩a在线播放| 麻豆免费看一区二区三区| 色综合一区二区| 国产精品国产三级国产aⅴ入口| 久久99国内精品| 日韩欧美国产1| 有码一区二区三区| 67194成人在线观看| 日韩激情视频在线观看| 欧美精品1区2区| 天堂成人免费av电影一区| 欧美日韩成人一区| 日韩二区三区在线观看| 国产在线日韩欧美| 国产精品色噜噜| 99re这里都是精品| 亚洲男人的天堂一区二区| 在线影院国内精品| 亚洲一区二区三区四区五区黄 | 麻豆国产欧美日韩综合精品二区| 一本久久精品一区二区| 中文字幕第一区二区| 色综合久久中文字幕综合网| 中文字幕日本乱码精品影院| 99re在线精品| 蜜桃精品在线观看| 国产目拍亚洲精品99久久精品| 99re这里只有精品首页| 久久精品72免费观看| 国产精品麻豆一区二区| 91精品婷婷国产综合久久竹菊| 国产精品69久久久久水密桃 | 亚洲日本韩国一区| 欧美电视剧免费观看| 北条麻妃一区二区三区| 老司机精品视频一区二区三区| 国产精品久久久久久久久动漫| 欧美老肥妇做.爰bbww| 国产在线精品一区二区三区不卡| 亚洲欧美色综合| 久久综合久久综合九色| 精品视频123区在线观看| 大胆欧美人体老妇| 久久电影网电视剧免费观看| 亚洲色图欧美激情| 26uuu亚洲| 日韩三区在线观看| 欧美性猛片aaaaaaa做受| www.日韩av| 国产一区 二区 三区一级| 婷婷亚洲久悠悠色悠在线播放 | 欧美va天堂va视频va在线| 色偷偷88欧美精品久久久| 国产成人在线看| 久久国产精品99久久人人澡| 亚洲日本va午夜在线影院| 久久精品一区二区三区不卡| 欧美精品一级二级| 91免费国产在线| 成人免费看的视频| 国产成人av电影在线观看| 免费av成人在线| 午夜精品免费在线观看| 亚洲精品国产精品乱码不99| 国产精品久久久久久久久久久免费看| 欧美电视剧在线观看完整版| 7777精品伊人久久久大香线蕉经典版下载| 99re这里只有精品6| 97精品视频在线观看自产线路二| 国产不卡视频一区二区三区| 国产精品亚洲视频| 国产成人精品免费看| 国产在线播放一区三区四| 久久精品国产精品亚洲综合| 蜜乳av一区二区| 另类的小说在线视频另类成人小视频在线 | 欧美日韩一区高清| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲第一在线综合网站| 亚洲精品日产精品乱码不卡| 中文字幕亚洲在| 亚洲视频在线观看三级| 亚洲人成伊人成综合网小说| 亚洲欧美一区二区三区久本道91| 亚洲欧美自拍偷拍色图| 亚洲男同1069视频| 亚洲成人免费视| 美女视频黄a大片欧美| 国产综合色精品一区二区三区| 精品在线播放免费| 丁香网亚洲国际| 91污在线观看| 在线精品观看国产| 91精选在线观看| 精品国产一区二区三区四区四| 久久免费看少妇高潮| 日韩一区在线免费观看| 亚洲综合免费观看高清完整版在线 | 欧洲视频一区二区| 欧美精品乱码久久久久久| 日韩精品中文字幕一区| 欧美国产在线观看| 亚洲一区二区3| 日韩黄色在线观看| 国产成人免费网站| 欧美亚洲国产bt| 精品久久一区二区三区| 中文字幕av一区二区三区高| 亚洲欧美日韩精品久久久久| 日韩国产一二三区| 国产成人免费视频| 欧美性色黄大片| 久久精品人人做人人综合| 一区二区三区在线视频观看58| 日韩**一区毛片| 不卡的av中国片| 91精品一区二区三区在线观看| 国产三级精品三级在线专区| 一区二区三区中文免费| 久久精品噜噜噜成人88aⅴ| 成人午夜在线免费| 欧美精品第1页| 国产精品全国免费观看高清| 亚洲一级二级三级| 国产高清视频一区| 91麻豆精品国产91久久久久久| 国产蜜臀av在线一区二区三区| 樱花影视一区二区| 国产成人精品综合在线观看| 欧美日韩国产小视频在线观看| 国产清纯白嫩初高生在线观看91| 亚洲一区中文在线| 成人精品亚洲人成在线| 欧美一级黄色大片| 亚洲区小说区图片区qvod| 精品无码三级在线观看视频 | 成人高清免费观看| 日韩欧美国产电影| 亚洲成人三级小说| 99国产欧美另类久久久精品| 精品国产乱码久久久久久夜甘婷婷| 亚洲激情自拍偷拍| av综合在线播放| 久久色.com| 国内精品久久久久影院色| 欧美人体做爰大胆视频| 国产精品成人网| 国产精品亚洲午夜一区二区三区| 欧美一级片在线| 午夜精品久久久久久久| 色久优优欧美色久优优| 中文字幕av资源一区| 国产精品一区二区黑丝| 日韩欧美国产一区二区在线播放| 亚洲自拍偷拍网站| 色婷婷久久99综合精品jk白丝| 国产视频一区二区在线| 激情久久五月天| 欧美精品一区二区三| 另类小说视频一区二区| 日韩欧美一区中文| 奇米影视7777精品一区二区| 51精品国自产在线| 爽爽淫人综合网网站| 在线观看91av| 日韩成人免费在线| 欧美精品在线观看播放| 午夜精品福利一区二区蜜股av| 色哟哟欧美精品| 亚洲一区二区三区中文字幕| 91成人看片片| 五月综合激情网| 日韩午夜精品视频| 韩国毛片一区二区三区| 久久一区二区视频| 懂色av中文一区二区三区| 亚洲欧美怡红院| 欧美性猛交xxxxxxxx| 三级成人在线视频| 日韩免费性生活视频播放| 精品一区二区三区影院在线午夜| 日韩一区二区三区观看| 精品一区二区三区久久久| 国产日产欧产精品推荐色| www.欧美.com| 一区二区三区中文在线| 51午夜精品国产| 国产精品99精品久久免费| 中文字幕日韩一区| 欧美性一二三区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美不卡在线视频| 成人午夜免费电影| 亚洲黄色小说网站| 日韩欧美视频一区| av不卡免费在线观看| 亚洲国产综合色| 精品国内二区三区| 99精品欧美一区二区三区小说|