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

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

?? cli_cmd.c

?? 在freescale 的ne64上開發的源代碼
?? C
?? 第 1 頁 / 共 4 頁
字號:
}


void init_switch_db(void)
{
	memset(device_descr,0,sizeof(device_descr));
}

void set_mac_cmd(void)
{
	UINT16 buffer[20];
	UINT8 position;
	UINT8 key = 0;
	
	if(valid_mac_addr(cmd[1])==0)
	{
		printf("  %%Invalid mac address.\n\r");
		return;
	}
	memset(hard_addr,0,sizeof(hard_addr));
	mac_strtohex(cmd[1],hard_addr);
	position=0;
	buffer[position++]=(UINT16)('M'<<8 |'A');
	buffer[position++]=(UINT16)('C'<<8 |':');
	buffer[position++]=(UINT16)((hard_addr[0]<<8)|hard_addr[1]);
	buffer[position++]=(UINT16)((hard_addr[2]<<8)|hard_addr[3]);	
	buffer[position++]=(UINT16)((hard_addr[4]<<8)|hard_addr[5]);	
	/*read fiber port info*/
	for(key=0;key<=10;key++)
	{
		buffer[position]=*(MACWADDR+position);
		position++;
	}
	buffer[position++]=(UINT16)('@'<<8 |'@');
	buffer[position++]=(UINT16)('@'<<8 |'@');
	Flash_Erase_Sector(MACWADDR);/*erase sector*/
	Flash_Write_Block(buffer,MACWADDR,position);

	printf("  WARNING:You need to reboot! Reboot now?(y/n) [y]");
	waitInput=1;
	/*key=TERM_Read();*/key=TERMIO_GetChar();
	init_timer(cli_timer, CLI_TIMEOUT_TIME*TIMERTIC);	
	if(key=='y' || key=='Y' || key=='\n' || key=='\r')
	{
		if(cli_reset==0)
		{
			printf("\n\r  System Rebooting,Please wait...\n\r");
			hwReboot();
		}
	}
	printf("\n\r");	
}

void set_ipaddress_cmd(void) 
{  
	UINT16 regVal;
	UINT32 addr;
	addr=inet_addr(cmd[1]);
	if(addr==0xffffffff)
	{
		printf(" %%Invalid input address %s\n\r",cmd[1]);
		return;    
	}
	localmachine.localip=addr;
	addr=inet_addr(cmd[2]);
	if(addr==0xffffffff)
	{
		printf(" %%Invalid input address %s\n\r",cmd[2]);
		return;    
  	}
	localmachine.netmask=addr;
#if 0
	/*set forward unknown unicast pkts*/
	MIIread(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL, &regVal);
	regVal |= 0x0004;	
	MIIwrite(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL, regVal);
#endif	
	/*set forward unknown multicast pkts*/
	MIIread(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL2, &regVal);
	regVal |=0x0040;	
	MIIwrite(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL2, regVal);
	
	return;
}

void set_gateway_cmd(void)
{
  UINT32 addr;
  addr=inet_addr(cmd[1]);
  if(addr==0xffffffff){
    printf(" %%Invalid input address %s\n\r",cmd[1]);
    return;    
  }
  localmachine.defgw=addr;
  return;
}

void no_ip_address(void)
{
	UINT16 regVal;
	/*clear ip config*/
	localmachine.localip=0;	
	/*clear ip mask*/
	localmachine.netmask=0;
	/*clear ip gateway*/
	localmachine.defgw=0;
	/*set 6095 no forward broadcast.m-cast*/
#if 0
	/*set no forward unknown unicast pkts*/
	MIIread(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL, &regVal);
	regVal &= (~0x0004);	
	MIIwrite(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL, regVal);
#endif	
	/*set no forward unknown multicast pkts*/
	MIIread(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL2, &regVal);
	regVal &= (~0x0040);	
	MIIwrite(SWITCH_PORT9_ADDRESS, QD_REG_PORT_CONTROL2, regVal);
}


UINT32 inet_addr(register char *inetString    /* string inet address */)
{
#define MAX_PARTS 4 	/* Maximum number of parts in an IP address. */

    register unsigned long val, base, n;
    register char c;
    unsigned long parts[MAX_PARTS], *pp = parts;

    /* check for NULL pointer */

    if (inetString == (char *) NULL)
	{
	
	return (0xffffffff);
	}

again:

    /* Collect number up to ``.''.  Values are specified as for C:
     * 0x=hex, 0=octal, other=decimal. */

    val = 0; base = 10;
    if (*inetString == '0')
	{
	base = 8, inetString++;
        if (*inetString == 'x' || *inetString == 'X')
	    base = 16, inetString++;
        }
    while ((c = *inetString))
	{
	if (isdigit ((int) c))
	    {
	    val = (val * base) + (c - '0');
	    inetString++;
	    continue;
	    }
	if (base == 16 && isxdigit ((int) c))
	    {
	    val = (val << 4) + (c + 10 - (islower ((int) c) ? 'a' : 'A'));
		inetString++;
		continue;
	    }
	    break;
	} /* while */

    if (*inetString == '.')
	{
	/*
	 * Internet format:
	 *	a.b.c.d
	 *	a.b.c	(with c treated as 16-bits)
	 *	a.b	(with b treated as 24 bits)
	 * Check each value for greater than 0xff for each part of the IP addr.
	 */

	if ((pp >= parts + (MAX_PARTS - 1)) || val > 0xff)
	    {	   
	    return (0xffffffff);
	    }
	*pp++ = val, inetString++;
	goto again;
	}

    /* Check for trailing characters */

    if (*inetString && !isspace ((int) *inetString)) 
	{	
	return (0xffffffff);
	}
    *pp++ = val;

    /* Concoct the address according to the number of parts specified. */

    n = pp - parts;
    switch ((int) n)
	{
	case 1:				/* a -- 32 bits */
	    val = parts[0];
	    break;

	case 2:				/* a.b -- 8.24 bits */
	    if (val > 0xffffff)
	        {		
		return (0xffffffff);
		}

	    val = (parts[0] << 24) | parts[1];
	    break;

	case 3:				/* a.b.c -- 8.8.16 bits */
	    if (val > 0xffff)
	        {		
		return (0xffffffff);
		}

	    val = (parts[0] << 24) | (parts[1] << 16) | parts[2];
	    break;

	case 4:				/* a.b.c.d -- 8.8.8.8 bits */
	    if (val > 0xff)
	        {		
		return (0xffffffff);
		}

	    val = (parts[0] << 24) | (parts[1] << 16) |
		  (parts[2] << 8) | parts[3];
	    break;

	default:	    
	    return (0xffffffff);
	}
  return (val);
}
void set_snmp_trap(void)
{	
	UINT16 id;
	UINT16 port=162;
	UINT32 addr;

	if(valid_input_number(cmd[2],1,5,&id)==0)
		return;
	addr=inet_addr(cmd[3]);
	if(addr==0xffffffff)
	{
		printf(" %%Invalid input address %s\n\r",cmd[3]);
		return;    
	}
	if(cmd_part==5)
		if(valid_input_number(cmd[4],0,65535,&port)==0)
			return;
	
	gTrapServer[id-1].addr=addr;
	gTrapServer[id-1].port=port;
	
	return;
}

void no_set_trap(void)
{
	UINT16 id;
	if(valid_input_number(cmd[3],1,5,&id)==0)
		return;
	gTrapServer[id-1].addr=0;
	gTrapServer[id-1].port=0;
}

void set_snmp_community(void)
{
	UINT16 id;
	
	if(valid_input_number(cmd[2],1,5,&id)==0)
		return;
	if(strlen(cmd[3])>16)
	{
		printf("  %%community must be less than 16 characters\n\r");
		return;
	}
	strcpy(gCommunity[id-1].name,cmd[3]);
	if(strcmp(cmd[4],"rw")==0)
		gCommunity[id-1].ability=RW;
	else if(strcmp(cmd[4],"ro")==0)
		gCommunity[id-1].ability=RO;
	else 
		printf("  %%Invalid input.\n\r");
		return;
		
	return;
}


void no_set_community(void)
{
	UINT16 id;
	if(valid_input_number(cmd[3],1,5,&id)==0)
		return;
	strcpy(gCommunity[id-1].name,0);
	gCommunity[id-1].ability=RO;
	
}

void set_manager_vid(void)
{
	UINT16 id1,id2;
	if(valid_input_number(cmd[2],0,4095,&id1)==0)
		return;
	
	if(valid_input_number(cmd[3],0,4095,&id2)==0)
		return;
	if(id1 == 0 && (id2 != 0))
	{
		printf("  %%Invalid input.\n\r");
		return;
	}
	manager_first_vid = id1;	
	manager_second_vid = id2;
	
}
void read_mac(void)
{
	UINT8 byte;
	UINT8 i;
	UINT8 *addr;
	
	addr=MACRADDR;
	byte=*addr++;
	if(byte!='M')	
		return;				
	byte=*addr++;	
	if(byte!='A')
		return;	
	byte=*addr++;	
	if(byte!='C')
		return;
	byte=*addr++;	
	if(byte!=':')
		return;		
	memset(hard_addr,0,sizeof(hard_addr));
	for(i=0;i<sizeof(hard_addr);i++)
	{
		hard_addr[i]=*addr++;	
	}		
}
#if 0
void show_mac_cmd()
{
	read_mac();
	printf("  Current mac = %02X:%02X:%02X:%02X:%02X:%02X\n\r",hard_addr[0],
		hard_addr[1],hard_addr[2],hard_addr[3],hard_addr[4],hard_addr[5]);
}
#endif
void show_reg_cmd(void)
{
	UINT8 phyAddr;
	UINT8 regAddr;
	UINT16 val,index;	
	
	if(valid_input_number(cmd[2],0,0x1d,&val)==0)
		return;	
	phyAddr=val&0xff;
	if(valid_input_number(cmd[3],0,35,&val)==0)
		return;
	regAddr=val&0xff;
	
	if(regAddr <= 31)
	{		
		hwGetReg(phyAddr, regAddr, &val);
		printf("  Reg %d %d value is 0x%X\n\r",phyAddr,regAddr,val);
	}
	else if(regAddr == 32) /*read all phy reg*/
	{			
		printf("  Phy %d all reg:\n\r",phyAddr);
		printf("  ");
		for(regAddr=0; regAddr<=31;)
		{
			hwGetReg(phyAddr, regAddr,&val);
			printf("%02x:%04x ",regAddr,val);
			regAddr++;
			if((regAddr%8)==0)
			{
				printf("\n\r");
				printf("  ");
			}
		}
		printf("\n\r");	
	}	
	else /*read all phy reg n times*/
	{
		printf("  Read phy %d all reg %d times:\n\r",phyAddr,index);
		for(index=100*(regAddr-31); index>0; index--)
		{					
			printf("  ");
			for(regAddr=0; regAddr<=31;)
			{
				hwGetReg(phyAddr, regAddr,&val);
				printf("%02x:%04x ",regAddr,val);
				regAddr++;
				if((regAddr%8)==0)
				{
					printf("\n\r");
					printf("  ");
				}
			}
			printf("\n\r");
		}		
	}
}

void set_reg_cmd(void)
{
	UINT8 phyAddr;
	UINT8 regAddr;
	UINT16 val;	
	
	if(valid_input_number(cmd[2],0,0x1d,&val)==0)
		return;	
	phyAddr=val&0xff;
	if(valid_input_number(cmd[3],0,31,&val)==0)
		return;	
	regAddr=val&0xff;
	if(valid_input_number(cmd[4],0,0xffff,&val)==0)
		return;

 	hwSetReg(phyAddr,regAddr,val);	
	printf("  Set reg %d %d to 0x%X OK\n\r",phyAddr,regAddr,val);
}
#if 0
void show_mcureg_cmd()
{
	UINT8 regVal;
	UINT16 regAddr;
	
	if(valid_input_number(cmd[2],0,0xffff,&regAddr)==0)
		return;

	regVal = *((volatile UINT8 *)(regAddr));

	printf("  The mcu reg 0x%x value is 0x%x\n\r",regAddr,regVal);
}

void set_mcureg_cmd()
{
	UINT16 regAddr,regVal;
	
	if(valid_input_number(cmd[2],0,0xffff,&regAddr)==0)
		return;

	if(valid_input_number(cmd[3],0,0xff,&regVal)==0)
		return;
	
	*((volatile UINT8 *)(regAddr)) = (UINT8)regVal;

	printf("  Set mcu reg 0x%x to 0x%x OK\n\r",regAddr,regVal);	
}
#endif
UINT8 set_port_info(UINT8 port,UINT8 singleFx, UINT8 fxMode, UINT8 fxCnctr, UINT16 fxDistance)
{
	UINT16 buffer[20];
	UINT8 position;

	if((localDTEType==OL100CR_X4X_V5)&&(port==1))	
		return ERROR;
	
	/*read mac addr and port info*/
	for(position=0;position<20;)
	{
		buffer[position]=*(MACWADDR+position);
		position++;
	}
	position=5;
	buffer[position++]=(UINT16)('F'<<8 |'X');
	position += (5*(port-1));
	buffer[position++]=(UINT16)((singleFx<<8)|fxMode);
	buffer[position++]=(UINT16)(fxCnctr<<8);
	buffer[position++]=fxDistance;
	Flash_Erase_Sector(MACWADDR);
	Flash_Write_Block(buffer,MACWADDR,20);
	return OK;
}

UINT8 get_port_info(UINT8 port,UINT8 *singleFx, UINT8 *fxMode, UINT8 *fxCnctr, UINT16 *fxDistance)
{
	UINT8 byte;
	UINT8 *addr;
	if((port!=1)&&(port!=2))
		return ERROR;
	
	*singleFx = 0;
	*fxMode = 0;
	*fxCnctr = 0;
	*fxDistance = 0;

	if((localDTEType==OL100CR_X4X_V5)&&(port==1))
		return;

	*singleFx = 1;
	
	addr = MACRADDR;
	addr += 10;
	byte = *addr++;
	if(byte != 'F')
		return ERROR;
	byte = *addr++;
	if(byte != 'X')
		return ERROR;

	addr += (10*(port-1));
	*singleFx = *addr++;
	*fxMode = *addr++;
	*fxCnctr = *addr++;
	addr++;
	byte = *addr++;
	*fxDistance = (UINT16)(byte<<8);
	byte = *addr++;
	*fxDistance += byte;
	return OK;
}

UINT8 set_wave_info(UINT8 port,UINT16 txWaveLen, UINT16 rxWaveLen)
{
	UINT16 buffer[20];
	UINT8 position;

	if((localDTEType==OL100CR_X4X_V5)&&(port==1))	
		return ERROR;
	
	/*read mac addr and port info*/
	for(position=0;position<20;)
	{
		buffer[position]=*(MACWADDR+position);
		position++;
	}
	position=5;
	buffer[position++]=(UINT16)('F'<<8 |'X');
	position += ((5*(port-1))+3);
	buffer[position++]=txWaveLen;
	buffer[position++]=rxWaveLen;
	Flash_Erase_Sector(MACWADDR);
	Flash_Write_Block(buffer,MACWADDR,20);
	return OK;
}

UINT8 get_wave_info(UINT8 port,UINT16 *txWaveLen, UINT16 *rxWaveLen)
{
	UINT8 byte;
	UINT8 *addr;

	if((port!=1)&&(port!=2))
		return ERROR;
	
	*txWaveLen = 0;
	*rxWaveLen = 0;

	if((localDTEType==OL100CR_X4X_V5)&&(port==1))
		return;	
	
	addr = MACRADDR;
	addr += 10;
	byte = *addr++;
	if(byte != 'F')
		return ERROR;
	byte = *addr++;
	if(byte != 'X')
		return ERROR;

	addr += (10*(port-1)+6);	
	byte = *addr++;
	*txWaveLen = (UINT16)(byte<<8);
	byte = *addr++;
	*txWaveLen += byte;
	byte = *addr++;
	*rxWaveLen = (UINT16)(byte<<8);
	byte = *addr++;
	*rxWaveLen += byte;
	return OK;
}

void port_info_cmd(void)
{
	UINT8 ports[MAX_PORT/2];
	UINT8 i;
	UINT16 singleFx,fxMode,fxCnctr,fxDistance;

	for(i=0;i<MAX_PORT/2;i++)
		ports[i]=0;	 	
	if(valid_port_list(cmd[1],ports)==0)
		return;
	if(valid_input_number(cmd[2],1,2,&singleFx)==0)
		return;
	if(valid_input_number(cmd[3],1,3,&fxMode)==0)
		return;
	if(valid_input_number(cmd[4],1,4,&fxCnctr)==0)
		return;	
	if(valid_input_number(cmd[5],0,4096,&fxDistance)==0)
		return;

	for(i=1;i<=MAX_PORT;i++)
	{
		if(bitListTst(ports,i-1)==1)
		{	
			if(set_port_info(i,(UINT8)singleFx,(UINT8)fxMode,(UINT8)fxCnctr,fxDistance)==ERROR)
			{
				//printf("  %%Failed to config port %d\n\r",i);
				continue;
			}
		}
	}
}

void port_wavelength_cmd(void)
{
	UINT8 ports[MAX_PORT/2];
	UINT8 i;
	UINT16 txWaveLen,rxWaveLen;

	for(i=0;i<MAX_PORT/2;i++)
		ports[i]=0;	 	
	if(valid_port_list(cmd[1],ports)==0)
		return;
	if(valid_input_number(cmd[2],0,4096,&txWaveLen)==0)
		return;
	if(valid_input_number(cmd[3],0,4096,&rxWaveLen)==0)
		return;
	
	for(i=1;i<=MAX_PORT;i++)
	{
		if(bitListTst(ports,i-1)==1)
		{	
			if(set_wave_info(i,txWaveLen,rxWaveLen)==ERROR)
			{
				//printf("  %%Failed to config port %d\n\r",i);
				continue;
			}
		}
	}
}


void ping_host(void)
{
	UINT8 count=5;
	UINT32 ipaddr;
	ipaddr=inet_addr(cmd[1]);
	printf("  Pinging %d.%d.%d.%d with 32 bytes of data:\n\r",(UINT8)(ipaddr>>24),
			(UINT8)(ipaddr>>16),(UINT8)(ipaddr>>8),(UINT8)(ipaddr));
	ping_send_req(ipaddr);
	while(count>0)
	{
		if(TERMIO_GetChar()==0x03)/*CTRL+C*/
		{
			printf("  Cancled by user\n\r");
			break;
		}
		if(check_ping_finished())
		{
			count--;
			if(get_ping_result()==0)
			{
				printf("  Request timed out.\n\r");
			}
			else
			{
				printf("  Reply from %d.%d.%d.%d: Byte=32 TTL=100.\n\r",(UINT8)(ipaddr>>24),
					(UINT8)(ipaddr>>16),(UINT8)(ipaddr>>8),(UINT8)(ipaddr));
			}
			ping_send_req(ipaddr);
		}
		process_tcpip();
	}
}

void debug_cmd(void)
{
	UINT16 number;

	if(valid_input_number(cmd[1],0,512,&number)==0)
		return;

	debug=(UINT16)number;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲老妇xxxxxx| 丝袜美腿亚洲色图| 欧美日韩国产高清一区二区三区| 狠狠色丁香婷综合久久| 伊人色综合久久天天| 久久精品视频网| 91精品麻豆日日躁夜夜躁| 成人深夜视频在线观看| 老司机免费视频一区二区三区| 亚洲精品免费看| 国产欧美视频一区二区三区| 欧美一区二区在线视频| 一本色道综合亚洲| 成人动漫在线一区| 国产欧美综合在线| 日韩一级黄色片| 欧美日韩大陆一区二区| 91麻豆国产香蕉久久精品| 国产成人在线视频网址| 日本欧美肥老太交大片| 亚洲在线观看免费| 亚洲欧美另类图片小说| 国产精品久久久一本精品| 久久网这里都是精品| 欧美成人女星排名| 在线成人av影院| 欧美日韩不卡一区| 欧美日韩一二三| 欧美日韩卡一卡二| 欧美三级视频在线观看| 在线精品观看国产| 欧美性猛交xxxx黑人交| 色婷婷综合久久久久中文一区二区| 国产精品99久久久久久似苏梦涵| 久久av资源网| 精品一区二区三区欧美| 美女在线观看视频一区二区| 日韩影院精彩在线| 日韩1区2区3区| 青娱乐精品视频| 久久国产剧场电影| 国模套图日韩精品一区二区| 激情都市一区二区| 国产成人精品免费看| 成人av网站在线观看免费| 懂色av中文一区二区三区| 国产成人精品一区二区三区四区| 岛国av在线一区| 99久久精品99国产精品| 色综合网色综合| 欧美亚洲一区二区在线| 欧美日韩综合色| 3d成人h动漫网站入口| 日韩欧美不卡一区| 久久九九全国免费| 亚洲国产高清在线| 亚洲人妖av一区二区| 一区二区在线观看免费视频播放 | 色婷婷av一区二区三区大白胸| 91亚洲大成网污www| 91免费看`日韩一区二区| 色婷婷精品久久二区二区蜜臂av | 国产婷婷色一区二区三区四区| 欧美国产国产综合| 亚洲精品午夜久久久| 日韩av网站在线观看| 国产精品主播直播| 91色在线porny| 在线播放一区二区三区| 久久久久久久综合狠狠综合| 中文字幕中文字幕一区二区| 亚洲午夜视频在线| 久久国产乱子精品免费女| 99久久精品费精品国产一区二区| 欧美日韩国产免费一区二区| 精品免费国产一区二区三区四区| 国产精品毛片大码女人| 日韩精品电影在线观看| 成人短视频下载| 5566中文字幕一区二区电影| 久久精品亚洲精品国产欧美kt∨| 一区二区三区四区亚洲| 久久99精品久久久久久久久久久久| k8久久久一区二区三区| 日韩一级在线观看| 亚洲欧美日韩一区二区三区在线观看| 日韩极品在线观看| www.激情成人| 精品国产在天天线2019| 一区二区久久久| 国产一区二区三区蝌蚪| 欧美精品免费视频| 国产精品免费视频一区| 久久av资源网| 欧美日韩免费电影| 国产精品久久久一区麻豆最新章节| 日日夜夜免费精品视频| 色综合中文字幕国产| 日韩欧美一区二区视频| 亚洲精品国产成人久久av盗摄| 狠狠色狠狠色综合日日91app| 在线观看一区二区精品视频| 中文文精品字幕一区二区| 狂野欧美性猛交blacked| 91亚洲精华国产精华精华液| 久久伊99综合婷婷久久伊| 三级在线观看一区二区| 在线看一区二区| 国产精品高潮呻吟久久| 国产精品亚洲第一区在线暖暖韩国| 欧美日韩国产小视频在线观看| 中文字幕在线不卡国产视频| 国产一区二区在线观看视频| 911精品国产一区二区在线| 一区二区三区不卡在线观看 | 亚洲视频一区二区在线| 国产一区三区三区| 欧美一区二区三区免费观看视频 | 成人av资源下载| 精品免费日韩av| 美女网站一区二区| 欧美一级黄色片| 午夜精品久久一牛影视| 欧美视频三区在线播放| 一区二区免费视频| 91影视在线播放| 国产精品二区一区二区aⅴ污介绍| 国产精品99久久久久久久女警 | 亚洲欧洲在线观看av| 顶级嫩模精品视频在线看| 国产三区在线成人av| 国产一区二区导航在线播放| www亚洲一区| 国内精品免费**视频| 精品国产一二三| 国产一区啦啦啦在线观看| 久久综合狠狠综合久久综合88| 久久国产乱子精品免费女| 久久综合视频网| 丁香网亚洲国际| 国产精品久久久久久久第一福利| 99r精品视频| 一区二区三区在线观看动漫 | 日韩精品一区二区三区swag| 久久精品国产亚洲aⅴ| 欧美精品一区在线观看| 国产1区2区3区精品美女| 国产精品色在线| 91色在线porny| 亚洲va天堂va国产va久| 91精品国产免费| 韩国v欧美v亚洲v日本v| 国产亚洲va综合人人澡精品 | 26uuu精品一区二区三区四区在线| 国产一区二三区好的| 中文字幕色av一区二区三区| 色综合久久中文字幕综合网| 性欧美疯狂xxxxbbbb| 精品处破学生在线二十三| 国产一区二区女| 亚洲精品视频一区二区| 欧美精品丝袜久久久中文字幕| 久久精品国产秦先生| 国产欧美一区二区精品性色| 91在线视频免费观看| 午夜精品免费在线| 国产亚洲精品7777| 一本久道中文字幕精品亚洲嫩| 日本不卡的三区四区五区| 国产欧美日产一区| 欧美在线制服丝袜| 捆绑调教一区二区三区| 亚洲欧美综合网| 777久久久精品| 成人免费视频免费观看| 亚洲国产综合在线| 久久夜色精品一区| 在线观看国产精品网站| 美女一区二区在线观看| 亚洲欧洲综合另类在线| 日韩欧美精品在线| 91色.com| 国产成人午夜高潮毛片| 亚洲国产日韩av| 国产欧美精品区一区二区三区 | 国产午夜精品一区二区| 欧美性受xxxx黑人xyx| 国产iv一区二区三区| 三级久久三级久久| 成人免费一区二区三区视频| 日韩一区二区三区在线视频| 色哟哟亚洲精品| 国产美女视频91| 日韩av中文字幕一区二区三区| 国产精品久久久久久久久动漫| 日韩精品在线网站| 欧洲一区二区三区在线| 不卡av免费在线观看| 国产综合色视频| 日本强好片久久久久久aaa|