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

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

?? 103.c

?? 南瑞繼保串口103源碼共享
?? C
?? 第 1 頁 / 共 3 頁
字號:
/****************************************************************************/
/*																			*/
/*           版權 (c) 2000-2010 國電南京自動化股份有限公司					*/
/*																			*/
/****************************************************************************/
/****************************************************************************/
/*	文件名							版本									*/
/*																			*/
/*  103.c	                        1.02									*/
/*																			*/
/*  概述:																	*/
/*																			*/
/*		南瑞繼保串口103主站側規約													*/
/*																			*/
/*	歷史紀錄:																*/
/*																			*/
/*	 名字				日期					注釋						*/
/*																			*/
/*  鄭小軍			 2001-10-15				創建初始化版本1.00				*/
/*  鄭小軍			 2002-04-02				修改遙測(DWORD->WORD)			*/
/*				      2002-10-15				更新版本1.1					*/
/****************************************************************************/
#include "typedef.h"
#include "generic.h"
#include "inforec.h"
#include "dev_mng.h"
#include "103.h"
//#include "telnet.h"

#define UART_RCV_SIZE 250

static WORD flag;
static BYTE scn;

BYTE sbuf[UART_PACKET_SIZE];
BYTE last_cmd;
WORD last_id;
WORD tot_leng;
BYTE dznumber;
BYTE list_num;
BYTE a;           //fun     
BYTE b;           //inf
BYTE c;           //dcc      
BYTE ctrl_no1;     //b
BYTE d;           
BYTE e;
BYTE count;

T_SET rsetbuf;
T_SET wsetbuf;
T_LIST list;
T_MEASURE measure;
T_SFC sfc;
T_DI di;
T_ANALOG_ENTRY *p_analog_list;
T_SET_ENTRY *p_set_list;
T_SFC_ENTRY *p_sfc_list;

extern T_IED g_ied_list[];
extern WORD g_ied_num;

/*   串口設置   */
extern BYTE uart_port;

/*	數據庫句柄  */
static HANDLE hand;

/*   串口任務   */
static  BYTE	  STACK_SERIAL[0x2000];
static  NU_TASK   nuTask_Serial;

/* 數據接受處理函數 */
void Serial_Interpret(const BYTE* rbuf,BYTE uart_port)
{
	BYTE byDevAddr;
	BYTE i;
	WORD Dev_Num;

	Dev_Num = Get_Device_Number();
	for (i = 1;i <= Dev_Num;i++)
	{
		byDevAddr = ID_to_Addr(i);
		switch (rbuf[0])
		{
		case FRAME_T_CON:
			if (rbuf[2] == byDevAddr)
			{
				Ack_Staid(rbuf,byDevAddr,uart_port);
				return;
			}
			break;
		case FRAME_T_VOL:
			if (rbuf[5] == byDevAddr || rbuf[5] == 0xff)
			{
				Ack_Changeable(rbuf,byDevAddr,uart_port);
				return;
			}
			break;
		default:
			return;
		}
	}
}

//可變幀長報文的處理
void Ack_Changeable(const BYTE* rbuf,BYTE byDevAddr,BYTE uart_port)
{
	switch(rbuf[6])
	{
	case 0x06:
		ASDU06(rbuf,byDevAddr,uart_port);//對時
		return ;
	case 0x07:
		ASDU07(rbuf,byDevAddr,uart_port);//總查詢
		return ;
	case 0x0a:
//		ASDU10(rbuf,byDevAddr,uart_port);//通用分類數據
		return ;
	case 0x14:
		ASDU20(rbuf,byDevAddr,uart_port);//一般命令(復歸保護信號)
		return;
	case 0x15:
		ASDU21(rbuf,byDevAddr,uart_port);//通用分類命令
		return ;
	case 0x40:
	        ASDU64(rbuf,byDevAddr,uart_port);//遙控
	        return;
	case 0x58:
	        ASDU88(rbuf,byDevAddr,uart_port);//遙脈量上送
	        return;        
	default:
		return ;
	}
}

//固定幀長報文的處理
void Ack_Staid(const BYTE* rbuf,BYTE byDevAddr,BYTE uart_port)
{
	BYTE	*crc;
	BYTE	*apack;
	BYTE	dev_fun;
	T_EVENT pEvent;
	T_DIC	pDIC;
	T_DATE	t_date;
	T_SFCC p_sfcc;
	BOOL	bDI,bEvent,bMeasure,bAlarm,bSFCC;
	WORD	wLen;
	WORD	ngd;
	WORD	dev_id;

	dev_id = Addr_to_ID(byDevAddr);
	if (rbuf[1] == last_cmd && dev_id == last_id)
	{
		//將上次報文重發
		wLen = tot_leng;
		UART_Write(uart_port,sbuf,wLen);
		return;
	}
	last_cmd = rbuf[1];
	last_id = dev_id;
	switch(rbuf[1]&0x0f)
	{
	case 0x00:
		//復位通信單元
		memset(sbuf, 0, UART_RCV_SIZE);
		flag = FLAG_RESET_CU;
		sbuf[0] = 0x10;
		sbuf[1] = 0x20;
		sbuf[2] = byDevAddr;
		wLen = 2;
		sbuf[3] = Makecrc(&sbuf[1],wLen);
		sbuf[4] = 0x16;
		wLen = 5;
		tot_leng = wLen;
		UART_Write(uart_port,sbuf,wLen);
		break;
	case 0x07:
		//復位幀計數位
		flag = FLAG_RESET_FCB;
		sbuf[0] = 0x10;
		sbuf[1] = 0x20;
		sbuf[2] = byDevAddr;
		wLen = 2;
		sbuf[3] = Makecrc(&sbuf[1],wLen);
		sbuf[4] = 0x16;
		wLen = 5;
		tot_leng = wLen;
		UART_Write(uart_port,sbuf,wLen);
		break;
	case 0x0a:
		if (flag == FLAG_RESET_CU)
		{
			//回答復位通信單元報文
			ASDU05(rbuf,byDevAddr,uart_port);
			flag = FLAG_POWER_ON;
			return;
		}
		if (flag == FLAG_RESET_FCB)
		{
			//回答復位幀計數報文
			ASDU05(rbuf,byDevAddr,uart_port);
			flag = FLAG_POWER_ON;
			return;
		}
		if (flag == FLAG_POWER_ON)
		{
			ASDU05(rbuf,byDevAddr,uart_port);
			flag = 0x00;
			return;
		}

                //檢查是否遙控選擇發生
                if (flag == FLAG_YK_CHK)
		{
			        flag = 0x00;
			        apack = sbuf;
                    if(DEV_Check_Control(dev_id, ctrl_no1) ==1)
		    {
				*apack++ = 0x68;
				*apack++ = 0x0a;
				*apack++ = 0x0a;
				*apack++ = 0x68;
				crc = apack;
				*apack++ = 0x08;
				*apack++ = byDevAddr;
				*apack++ = 0x40;
				*apack++ = 0x01;   //VSQ
				*apack++ = 0x0c;   //cot
				*apack++ = byDevAddr;
				*apack++ = a;      //fun
				*apack++ = b;      //inf
				*apack++ = c;      //dcc
				*apack++ = 0x00;   //RII
				wLen = apack - crc;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
	             }
	                        
				
                 }
		
		  //檢查是否遙控執行發生
                if (flag == FLAG_YK_DO)
                {			     
			        flag = 0x00;
			        apack = sbuf;
	              if(DEV_Remote_Control(dev_id, ctrl_no1) == 1)
			  {
				*apack++ = 0x68;
				*apack++ = 0x0a;
				*apack++ = 0x0a;
				*apack++ = 0x68;
				crc = apack;
				*apack++ = 0x08;
				*apack++ = byDevAddr;
				*apack++ = 0x40;
				*apack++ = 0x01;   //VSQ
				*apack++ = 0x0c;   //cot
				*apack++ = byDevAddr;
				*apack++ = a;      //fun
				*apack++ = b;      //inf
				*apack++ = c;      //dcc
				*apack++ = 0x00;   //RII
				wLen = apack - crc;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
			  }
			  
				
		  }
		
		  //檢查是否遙控撤消發生
                if (flag == FLAG_YK_UNDO)
		{
			        flag = 0x00;
			        apack = sbuf;
				*apack++ = 0x68;
				*apack++ = 0x0a;
				*apack++ = 0x0a;
				*apack++ = 0x68;
				crc = apack;
				*apack++ = 0x08;
				*apack++ = byDevAddr;
				*apack++ = 0x40;
				*apack++ = 0x01;   //VSQ
				*apack++ = 0x0c;   //cot
				*apack++ = byDevAddr;
				*apack++ = a;      //fun
				*apack++ = b;      //inf
				*apack++ = c;      //dcc
				*apack++ = 0x00;   //RII
				wLen = apack - crc;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
		}

		//檢查是否總查詢發生
		if (flag == FLAG_POLLING)
		{
			//asdu01回答全遙信
			ASDU44(rbuf,byDevAddr,uart_port);
			//flag = FLAG_POLLING_END;
			return;
		}

		//總查詢的終止
		if (flag == FLAG_POLLING_END)
		{
			ASDU08(rbuf,byDevAddr,uart_port);
			return;
		}

		//檢查遙信變位
		bDI = INF_Search_Dic(hand,dev_id);
		if (bDI)
		{
				INF_Get_Dic(hand, dev_id, &pDIC);
				apack = sbuf;
				*apack++ = 0x68;
				*apack++ = 0x20;
				*apack++ = 0x20;
				*apack++ = 0x68;
				crc = apack;
				if(! INF_Search_Dic(hand,dev_id))
				{
					*apack++ = 0x08;
				}
				else
				{
					*apack++ = 0x28;
				}
				*apack++ = byDevAddr;
				*apack++ = 0x01;
				*apack++ = 0x81;
				*apack++ = 1;
				*apack++ = byDevAddr;
				*apack++ = Get_Fun(dev_id);
				*apack++ = (BYTE)pDIC.e_code + DIC_BEGIN;
				*apack++ = (BYTE)pDIC.e_state + 1;
				SYS_Get_Clock(&t_date);
				*apack++ = (BYTE)t_date.msec;
				*apack++ = (BYTE)(t_date.msec >> 8);
				*apack++ = t_date.minute;
				*apack++ = t_date.hour;
				*apack++ = 1;
				wLen = apack - crc;
				sbuf[1] = (BYTE)wLen;
				sbuf[2] = (BYTE)wLen;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
		}

		//檢查是否有保護事件發生
		bEvent = INF_Search_Event(hand,dev_id);
		if (bEvent)
		{
				INF_Get_Event(hand,dev_id,&pEvent);
				apack = sbuf;
				*apack++ = 0x68;
				*apack++;
				*apack++;
				*apack++ = 0x68;
				crc = apack;
				bEvent = INF_Search_Event(hand,dev_id);
				if (bEvent == 1)
				{
					*apack++ = 0x28;
				}
				else
				{
					*apack++ = 0x08;
				}
				*apack++ = byDevAddr;
				*apack++ = 0x01;
				*apack++ = 0x81;
				*apack++ = 1;
				*apack++ = byDevAddr;
				*apack++ = Get_Fun(dev_id);
				*apack++ = (BYTE)pEvent.e_code + EVT_BEGIN;//條目號
				*apack++ = (BYTE)pEvent.e_state + 1;
				*apack++ = (BYTE) pEvent.e_date.msec;
				*apack++ = (BYTE) (pEvent.e_date.msec >> 8);
				*apack++ = pEvent.e_date.minute;
				*apack++ = pEvent.e_date.hour;
				*apack++ = 0;
				wLen = apack - crc;
				sbuf[1] = (BYTE)wLen;
				sbuf[2] = (BYTE)wLen;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
		}

		//檢查是否有保護告警事件發生
		bAlarm = INF_Search_Alarm(hand,dev_id);
		if (bAlarm)
		{
				INF_Get_Alarm(hand,dev_id,&pEvent);
				apack = sbuf;
				*apack++ = 0x68;
				*apack++;
				*apack++;
				*apack++ = 0x68;
				crc = apack;
				bEvent = INF_Search_Alarm(hand,dev_id);
				if (bEvent == 1)
				{
					*apack++ = 0x28;
				}
				else
				{
					*apack++ = 0x08;
				}
				*apack++ = byDevAddr;
				*apack++ = 0x01;
				*apack++ = 0x81;
				*apack++ = 1;
				*apack++ = byDevAddr;
				*apack++ = Get_Fun(dev_id);//Fun
				*apack++ = (BYTE)pEvent.e_code + ALA_BEGIN;//條目號
				*apack++ = (BYTE)pEvent.e_state + 1;
				*apack++ = (BYTE) pEvent.e_date.msec;
				*apack++ = (BYTE) (pEvent.e_date.msec >> 8);
				*apack++ = pEvent.e_date.minute;
				*apack++ = pEvent.e_date.hour;
				*apack++ = 0;
				wLen = apack - crc;
				sbuf[1] = (BYTE)wLen;
				sbuf[2] = (BYTE)wLen;
				*apack++ = Makecrc(crc,wLen);
				*apack++ = 0x16;
				wLen = apack - sbuf;
				tot_leng = wLen;
				UART_Write(uart_port,sbuf,wLen);
				return;
		}

		//傳送描述表
		if (flag == FLAG_READ_LIST)
		{
			BYTE i;
			BYTE ginl;
			BYTE data_leng;

			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x28;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xfe;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			data_leng = 0x0a;
			*apack++ = (BYTE)list.l_size;
			switch(list.l_type)
			{
			case LIST_T_ANALOG:
//				p_analog_list = (T_ANALOG_ENTRY *) list.l_ptr;
				ginl = 0x01;
				break;
			case LIST_T_SET:
//				p_set_list = (T_SET_ENTRY *) list.l_ptr;
				ginl = 0x04;
				break;
			case LIST_T_SFC:
//				p_sfc_list = (T_SFC_ENTRY *) list.l_ptr;
				ginl = 0x06;
				break;
			}
			i = 0;
			while(i < 10)
			{
				if(list_num < list.l_size)
				{
					*apack++ = ginl;
					*apack++ = list_num + 1;
					*apack++ = 10;
					*apack++ = 1;
					*apack++ = 16;
					*apack++ = 1;
					data_leng += 6;
					if(list.l_type == LIST_T_ANALOG)
					{
						memcpy(apack, p_analog_list->name,16);
						apack += 16;
						data_leng += 16;
						list_num ++;
						p_analog_list++;
					}
					if(list.l_type == LIST_T_SET)
					{
						memcpy(apack, p_set_list->name,16);
						apack += 16;
						data_leng += 16;
						list_num ++;
						p_set_list++;
					}
					if(list.l_type == LIST_T_SFC)
					{
						memcpy(apack, p_sfc_list->name,16);
						apack += 16;
						data_leng += 16;
						list_num ++;
						p_sfc_list++;
					}
					i++;
				}
				else
					break;
			}

			//超過10項分幀發送
			sbuf[1] = data_leng;
			sbuf[2] = data_leng;
			
			if (list_num != list.l_size)
			{
				sbuf[13] = (i | 0x80);
				sbuf[4] = 0x28;
			}
			else
			{
				sbuf[13] = (i | 0x00);
				sbuf[4] = 0x08;
				flag = 0;
			}
			wLen = data_leng;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = data_leng + 6;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}
		
		//是否傳送遙信量
		if(flag == FLAG_READ_DI)
		{
			BYTE i;

			flag = 0x00;
			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x08;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xFE;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			*apack++ = (BYTE) di.di_num;
			for(i = 0;i< (di.di_num + 31)/32;i++)
			{
				*apack++ = 0x07;//遙信組
				*apack++ = i + 1;
				*apack++ = 1;
				*apack++ = 7;
				*apack++ = 4;
				*apack++ = 1;
				*apack++ = *((BYTE *)&di.di_val[i] + 3);
				*apack++ = *((BYTE *)&di.di_val[i] + 2);
				*apack++ = *((BYTE *)&di.di_val[i] + 1);
				*apack++ = *((BYTE *)&di.di_val[i]);
			}
			wLen = apack - crc;
			sbuf[1] = wLen + 2;
			sbuf[2] = wLen + 2;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = apack - sbuf;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}

		//是否要傳送遙測值
		if(flag == FLAG_READ_MEASURE)
		{
			BYTE i;

			flag = 0x00;
			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x08;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xFE;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			*apack++ = (BYTE) measure.ms_num;
			for(i = 0;i< measure.ms_num;i++)
			{
				*apack++ = 0x01;//遙測組
				*apack++ = i + 1;
				*apack++ = 1;
				*apack++ = 7;
				*apack++ = 2;
				*apack++ = 1;
				*apack++ = (BYTE)(measure.ms_val[i]);
				*apack++ = (BYTE)(measure.ms_val[i] >> 8);
			}
			wLen = apack - crc;
			sbuf[1] = wLen + 2;
			sbuf[2] = wLen + 2;
			*apack++ = Makecrc(crc,wLen);
			*apack++ = 0x16;
			wLen = apack - sbuf;
			tot_leng = wLen;
			UART_Write(uart_port,sbuf,wLen);
			return;
		}

		//檢查是否要傳送軟壓板
		if(flag == FLAG_READ_SFC)
		{
			BYTE i;

			flag = 0x00;
			apack = sbuf;
			*apack++ = 0x68;
			apack++;
			apack++;
			*apack++ = 0x68;
			crc = apack;
			*apack++ = 0x08;
			*apack++ = byDevAddr;
			*apack++ = 0x0a;
			*apack++ = 0x81;
			*apack++ = 0x2a;
			*apack++ = byDevAddr;
			*apack++ = 0xFE;
			*apack++ = 0xf1;
			*apack++ = 0x00;
			*apack++ = (BYTE) sfc.sfc_num;
			for(i = 0;i< sfc.sfc_num;i++)
			{
				*apack++ = 0x06;//壓板組
				*apack++ = i + 1;
				*apack++ = 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91香蕉国产在线观看软件| 欧美在线一二三| kk眼镜猥琐国模调教系列一区二区 | 欧美日韩激情一区二区三区| 精品日韩一区二区三区| 中文字幕一区二区三区不卡在线 | 久久综合久久久久88| 亚洲美腿欧美偷拍| 国产91对白在线观看九色| 欧美一二三区精品| 亚洲日本丝袜连裤袜办公室| 日韩精品电影在线| 在线中文字幕一区| 中文字幕亚洲一区二区va在线| 日韩精品电影一区亚洲| 色婷婷久久综合| 国产精品欧美极品| 国产精品18久久久久久久久| 91精品久久久久久久91蜜桃 | 亚洲国产精品精华液网站| av高清久久久| 国产精品―色哟哟| 国产精品一级片| 精品国产乱子伦一区| 五月激情六月综合| 欧美日韩成人综合在线一区二区| 国产精品福利一区二区三区| 国产一区二区免费在线| 日韩美女在线视频| 日本成人在线视频网站| 欧美日韩dvd在线观看| 亚洲午夜久久久| 在线免费不卡视频| 国产精品久久久久婷婷| 国产凹凸在线观看一区二区| 精品欧美一区二区三区精品久久| 三级亚洲高清视频| 欧美一区二区三区视频在线观看| 亚洲最大色网站| 在线免费观看日韩欧美| 亚洲一区二区三区在线看| 在线免费观看日本一区| 亚洲福利国产精品| 欧美一激情一区二区三区| 免费在线欧美视频| 精品国产自在久精品国产| 精品亚洲成a人在线观看| 精品国产乱码久久久久久图片| 美女脱光内衣内裤视频久久网站 | 成人国产一区二区三区精品| 国产欧美一区二区精品性色超碰| 国产乱码精品一品二品| 国产精品乱人伦一区二区| 99在线热播精品免费| 亚洲国产精品久久不卡毛片 | 亚洲午夜精品久久久久久久久| 欧美日韩国产欧美日美国产精品| 亚欧色一区w666天堂| 91精品久久久久久久91蜜桃| 国内精品伊人久久久久av一坑| 国产亲近乱来精品视频 | 成人毛片在线观看| 亚洲黄色av一区| 日韩欧美国产综合一区 | av高清不卡在线| 亚洲午夜久久久久久久久电影网 | 国产激情91久久精品导航| 国产亚洲欧美日韩日本| 99久久精品一区| 肉肉av福利一精品导航| 日韩欧美一区二区三区在线| 东方欧美亚洲色图在线| 亚洲国产精品一区二区www| 欧美大白屁股肥臀xxxxxx| 成人亚洲一区二区一| 亚洲18影院在线观看| 国产日韩高清在线| 在线不卡中文字幕播放| 国产黄人亚洲片| 亚洲与欧洲av电影| 国产欧美一区二区精品性色| 欧美偷拍一区二区| 国产超碰在线一区| 人人精品人人爱| 综合色中文字幕| 2020日本不卡一区二区视频| 91美女在线视频| 国产成人在线视频网址| 亚洲高清免费视频| 亚洲欧洲成人av每日更新| 日韩一区二区电影在线| 在线欧美日韩国产| 国产成人精品午夜视频免费| 日韩影院在线观看| 亚洲精品国产精品乱码不99| 久久精品视频一区| 日韩一区二区三区电影 | 亚洲激情自拍视频| 中文字幕欧美激情| 久久网站热最新地址| 欧美剧情电影在线观看完整版免费励志电影| 国产福利视频一区二区三区| 天堂一区二区在线免费观看| 亚洲免费高清视频在线| 中文在线资源观看网站视频免费不卡| 欧美一区二区三区婷婷月色| 欧美日韩中字一区| 在线亚洲一区二区| 99精品视频在线免费观看| 国产999精品久久久久久绿帽| 全国精品久久少妇| 日韩精品欧美成人高清一区二区| 一区二区三区产品免费精品久久75| 中文字幕电影一区| 国产亚洲欧美日韩俺去了| xf在线a精品一区二区视频网站| 6080国产精品一区二区| 3d动漫精品啪啪1区2区免费| 欧美系列日韩一区| 欧美精品aⅴ在线视频| 欧美视频精品在线| 欧美日韩国产免费一区二区 | 亚洲精品v日韩精品| 成人欧美一区二区三区白人| 国产精品私人影院| 国产精品久久久久久久久搜平片| 国产日韩欧美制服另类| 国产精品三级久久久久三级| 国产精品久久久久影院老司| 日韩在线一区二区三区| 午夜精品一区二区三区免费视频| 午夜欧美2019年伦理| 日韩精品福利网| 久久成人麻豆午夜电影| 国产一二精品视频| av中文一区二区三区| 欧美午夜影院一区| 欧美一区二区三区男人的天堂| 91精品国产入口| 精品国产乱码久久久久久影片| 国产欧美视频在线观看| 中文字幕一区二区三区在线观看| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲精品免费电影| 日韩高清中文字幕一区| 国产一区二区三区最好精华液| 成人av免费在线观看| 欧美午夜片在线看| 精品久久久久久亚洲综合网| 亚洲国产精品成人久久综合一区 | 精品美女一区二区三区| 国产欧美视频一区二区三区| 亚洲精品国产高清久久伦理二区| 午夜视频一区二区| 国产精品自在在线| 欧美综合色免费| 精品久久国产老人久久综合| 亚洲国产精品99久久久久久久久| 一区二区三区四区高清精品免费观看 | 亚洲男人的天堂在线aⅴ视频| 日韩精品一卡二卡三卡四卡无卡| 国产一区二区看久久| 在线视频一区二区免费| 久久综合狠狠综合| 亚洲一区二区欧美| 国产福利一区二区三区在线视频| 欧美日韩一卡二卡三卡| 国产日产欧美一区二区视频| 亚洲一区二区成人在线观看| 国产成人精品亚洲777人妖| 欧美色网一区二区| 国产精品欧美综合在线| 美女视频黄 久久| 91成人网在线| 国产精品免费视频一区| 六月丁香综合在线视频| 欧美日韩国产小视频在线观看| 中文成人综合网| 狠狠色丁香婷婷综合| 在线不卡的av| 夜夜揉揉日日人人青青一国产精品| 狠狠色丁香九九婷婷综合五月| 欧美日韩精品一区二区三区蜜桃 | 久久精品国产精品青草| 欧洲视频一区二区| 国产精品视频你懂的| 国产一区二区三区av电影 | 欧美成人精品1314www| 亚洲小说春色综合另类电影| 国产成人h网站| 精品少妇一区二区三区在线视频| 午夜精品在线视频一区| 色猫猫国产区一区二在线视频| 国产欧美日韩精品一区| 国产精品影视网| 久久综合成人精品亚洲另类欧美 | 国产九色精品成人porny| 日韩欧美中文字幕一区| 婷婷久久综合九色综合绿巨人| 日本韩国一区二区三区视频|