亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
欧美精品一区二区蜜臀亚洲| caoporen国产精品视频| 亚洲精选视频在线| 国产精品区一区二区三区| 26uuu成人网一区二区三区| 精品久久久久久无| 精品国产一区二区三区久久影院| 欧美男女性生活在线直播观看| 日本久久精品电影| 色诱亚洲精品久久久久久| www.视频一区| 91久久奴性调教| 色婷婷综合久色| 欧美在线影院一区二区| 欧美视频日韩视频在线观看| 欧美日韩国产小视频| 3atv在线一区二区三区| 日韩精品一区二区三区蜜臀| 精品噜噜噜噜久久久久久久久试看 | 色综合久久久久综合体| 99久久精品国产一区| 在线观看成人小视频| 91麻豆精品91久久久久久清纯| 日韩欧美国产午夜精品| 亚洲精品在线免费观看视频| 国产精品无遮挡| 亚洲综合免费观看高清完整版 | 国产欧美一区二区精品久导航| 中文字幕不卡一区| 亚洲第一综合色| 麻豆久久久久久| 成人高清在线视频| 欧美老人xxxx18| 久久精品夜夜夜夜久久| 综合久久给合久久狠狠狠97色| 亚洲综合丁香婷婷六月香| 麻豆精品一区二区av白丝在线 | 亚洲国产高清在线| 艳妇臀荡乳欲伦亚洲一区| 青青草97国产精品免费观看无弹窗版| 国产在线播放一区三区四| 97se亚洲国产综合自在线| 欧美一卡在线观看| 国产精品激情偷乱一区二区∴| 午夜影视日本亚洲欧洲精品| 国产精品综合网| 在线亚洲精品福利网址导航| 精品久久久久99| 亚洲一区二区偷拍精品| 丁香婷婷深情五月亚洲| 欧美高清dvd| 亚洲视频图片小说| 国产剧情一区二区| 欧美电影免费观看完整版| 亚洲欧美激情小说另类| 国产一区二区免费在线| 欧美美女喷水视频| 一区二区三区四区视频精品免费 | 欧美激情在线观看视频免费| 三级久久三级久久| 色av成人天堂桃色av| 久久久久成人黄色影片| 蜜桃av噜噜一区二区三区小说| 色狠狠桃花综合| 国产精品毛片久久久久久久| 久久99精品久久久| 日韩三级在线免费观看| 亚洲第一会所有码转帖| 91传媒视频在线播放| 国产精品久久久久久妇女6080| 精品一区二区三区免费毛片爱| 欧美日韩电影一区| 亚洲国产精品人人做人人爽| 日本精品一区二区三区四区的功能| 中文字幕乱码亚洲精品一区| 国产激情视频一区二区在线观看| 欧美成人精品3d动漫h| 美女mm1313爽爽久久久蜜臀| 日韩网站在线看片你懂的| 日日噜噜夜夜狠狠视频欧美人 | 国内成人免费视频| 精品欧美一区二区在线观看| 久久99日本精品| 精品免费一区二区三区| 国内久久精品视频| 久久精品人人做人人综合| 国产高清无密码一区二区三区| 久久久久久久久久久久久久久99 | bt欧美亚洲午夜电影天堂| 中文在线一区二区| 一本大道久久a久久综合| 亚洲欧美日韩一区| 欧美亚洲综合在线| 免费高清视频精品| 久久色视频免费观看| 成人亚洲一区二区一| 椎名由奈av一区二区三区| 在线国产亚洲欧美| 午夜精品久久久久久不卡8050| 欧美高清视频在线高清观看mv色露露十八| 亚洲第一av色| 欧美精品一区二区高清在线观看| 国产一区二区三区黄视频| 国产人久久人人人人爽| 91麻豆国产福利在线观看| 一级做a爱片久久| 日韩欧美国产综合一区| 国产91丝袜在线18| 亚洲成a人在线观看| 久久―日本道色综合久久| 色综合天天做天天爱| 蜜臀精品一区二区三区在线观看 | 国精产品一区一区三区mba视频 | 欧美极品另类videosde| 欧美在线高清视频| 国产精品一区二区x88av| 一区二区三区小说| 国产亚洲欧美日韩俺去了| 色综合天天综合给合国产| 久久se精品一区二区| 亚洲激情综合网| 国产欧美精品一区aⅴ影院| 欧美日韩精品一区视频| 成人动漫一区二区三区| 视频一区中文字幕国产| 日韩毛片一二三区| 久久久久高清精品| 欧美日韩大陆一区二区| caoporm超碰国产精品| 精品一区二区三区在线观看国产| 亚洲一区二区精品视频| 久久精品一级爱片| 欧美变态口味重另类| 欧美日韩黄色一区二区| 99re热视频精品| 国产精品一区二区x88av| 日韩av二区在线播放| 亚洲天天做日日做天天谢日日欢| 欧美成人精精品一区二区频| 精品视频一区三区九区| 色哟哟日韩精品| 成人av在线影院| 国产精品资源网| 久久爱www久久做| 久久国产综合精品| 美女mm1313爽爽久久久蜜臀| 亚洲成人黄色影院| 亚洲你懂的在线视频| 中文成人综合网| 国产精品美女久久久久久久| 久久久久9999亚洲精品| 2019国产精品| 精品国产露脸精彩对白| 精品日产卡一卡二卡麻豆| 欧美不卡一区二区| 日韩视频免费观看高清完整版| 欧美一区欧美二区| 日韩午夜激情电影| 精品国产乱码久久久久久老虎| 日韩色在线观看| 久久在线观看免费| 久久久精品蜜桃| 国产精品区一区二区三| 成人免费一区二区三区视频| 亚洲人一二三区| 一区二区三区欧美激情| 亚洲一区二区免费视频| 日韩电影在线一区二区| 九色porny丨国产精品| 国产裸体歌舞团一区二区| 国产精品亚洲视频| 91美女在线视频| 欧美日韩情趣电影| 精品国产污网站| 18成人在线观看| 偷拍亚洲欧洲综合| 久久se精品一区二区| 成人a级免费电影| 欧美日韩亚洲综合在线| 日韩精品一区二区三区中文精品| 久久久久久久综合狠狠综合| 国产精品麻豆欧美日韩ww| 亚洲一区电影777| 久久99国产精品久久99| 高清不卡在线观看| 欧美日韩大陆一区二区| 精品国产123| 亚洲美腿欧美偷拍| 久久99精品久久久久久| 色综合久久综合中文综合网| 9191国产精品| 国产精品福利一区二区三区| 天堂久久久久va久久久久| 丁香激情综合国产| 91超碰这里只有精品国产| 欧美国产精品久久| 日本不卡中文字幕| 一本一本久久a久久精品综合麻豆| 制服丝袜激情欧洲亚洲| 国产精品二区一区二区aⅴ污介绍|