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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? toneapp.~c

?? DTMF收發(fā)芯片88L89完美驅(qū)動(dòng)(Arm,SDT251環(huán)境)
?? ~C
?? 第 1 頁(yè) / 共 4 頁(yè)
字號(hào):
/* tone_App.c - 音頻服務(wù) 應(yīng)用層 外部消息函數(shù) */

/* Copyright 1994-2001 Wuhan Jinglun Electronic Co., Ltd. */

/* 
modification history
--------------------

*/

/* 
DESCRIPTION 根據(jù)外部消息提供相應(yīng)的服務(wù)。
*/

#include	"pcdisk.h"

#include	"codec.h"
#include	"intfTone.h"
#include	"intfUimm.h"
#include	"intfMont.h"
#include	"..\inc\toneType.h"

#include	"..\inc\rtn_tone.h"
#include "..\inc\MT88L89V2.h"

//extern temp;

//數(shù)據(jù)緩存
/* BEGIN, 2002-05-20, Yancj */
/* PURPOSE: 只讀取一個(gè)文件*/

#if 1	
	//									pBuf_HFC 				iPeriod_Tone		iLoop_Series
	//pDesc	iDevice				pBuf_ARM 		iBuf		iPeriod_Send 		iLoop_Period					
	//內(nèi)容播放				ARM	    	HFC	 	數(shù)據(jù)	發(fā)聲	聲音	周期	連續(xù)  
	//描述設(shè)備				緩存	緩存	長(zhǎng)度	周期	周期	次數(shù)	次數(shù)                                    
	//		int                                       	*    *    	1bytes 	1Tick	1Tick	1Cycle	1Cycle								                                          					
TONE_APP_DATA_BUF_t gTONE_Data_Buf_Main[] = {								
	"NULL",	TONE_DEVICE_CODEC_NUL, 	0,   0, 	0, 		0,	  		0,	  	0,		0,	//	0		
	"KEYS",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		0/*need*/,	0,	  	1,		1,	//	1		
	"REMV",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		50,			100,		3,		1,	//	2	
	"CHGE",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		100,			300,		10,		1,	//	3	
	"RING",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		90,			500,		60,		1,	//	4	
	"PUBL",	TONE_DEVICE_CODEC_ARM, 	0,   0,	0, 		60,			260,		3,		1,	//	5
	"DIAL",	TONE_DEVICE_CODEC_ARM, 	0,   0, 	0, 		5400,		0,	  	1,   		60,	//	6

	"BUSY",	TONE_DEVICE_CODEC_ARM, 	0, 	0, 	0, 		35,	 		70,		100,		1,	//	7
	"DTMF",	TONE_DEVICE_CODEC_ARM, 	0,	0, 	0, 		0/*need*/,	0,	  	1,		1,	//	8	
	
	/* BEGIN, 2002-05-27, YanCJ */
	/* PURPOSE: 增加呼臺(tái)提示音控制表*/	
	"CALL",	TONE_DEVICE_CODEC_ARM, 	0,	0, 	800, 	10,			20,	  	2,		1	//	9	
	/* END */
	
	};

#endif
/* END */

/* 程序運(yùn)行后返回的值
pDesc   iDevice   iBuf   iPeriod_Send   iPeriod_Tone   iLoop_Period   iLoop_Series 
NULL	 0	 0	 	0	 	0	 0	 0
KEYS	 2	 12800	 10	 	0	 1	 1
REMV	 2	 8000	 50	 	100	 3	 1
CHGE	 2	 8000	 100	 	300	 10	 1
RING	 2	 8000	 90	 	500	 60	 1
PUBL	 1	 4800	 60	 	260	 3	 1
DIAL	 2	 7202	 5400	 0	 1	 60
BUSY	 2	 2800	 35	 	70	 100	 1
DTMF	 1	 10240	 8	 	0	 1	 1
*/

#if 0	//2002-04-08 modified ready, Yancj ,		宏控制雙頻音長(zhǎng)度
	//內(nèi)容 ARM					HFC				ARM	    HFC	 文件					發(fā)聲			聲音	周期	連續(xù)  
	//描述 文件				文件			緩存	緩存	長(zhǎng)度					周期			周期	次數(shù)	次數(shù)                                    
	//														                                          					
TONE_APP_DATA_BUF_t gTONE_Data_Buf_Main[] = {								
	"NULL",	"",         		"",					0,   0, 0,	  					0,	  				0,	  	0,		0,	//	0		
	"KEYS",	TONE_FILE_ARM_KEYS, TONE_FILE_HFC_KEYS,	0,   0,	(16*TONE_KEYS_SIZES),	(TONE_KEYS_TICKS),	0,	  	1,		1,	//	1		
	"REMV",	TONE_FILE_ARM_REMV, TONE_FILE_HFC_REMV,	0,   0,	4000,					50,					100,	3,		1,	//	2	
	"CHGE",	TONE_FILE_ARM_CHGE, TONE_FILE_HFC_CHGE,	0,   0,	8000,					100,				300,	10,		1,	//	3	
	"RING",	TONE_FILE_ARM_RING, TONE_FILE_HFC_RING,	0,   0,	7200,					90,					500,	60,		1,	//	4	
	"PUBL",	TONE_FILE_ARM_PUBL, TONE_FILE_HFC_PUBL,	0,   0,	4800,					60,					260,	3,		1,	//	5
	"DIAL",	TONE_FILE_ARM_DIAL, TONE_FILE_HFC_DIAL,	0,   0, 8000,					6000,				0,	  	1,   	60,	//	6

	"BUSY",	TONE_FILE_ARM_BUSY, TONE_FILE_HFC_BUSY,	0, 	0, 	2800,					35,	 				70,		100,	1,	//	7
	"DTMF",	TONE_FILE_ARM_DTMF, TONE_FILE_HFC_DTMF,	0,	0, 	(16*TONE_DTMF_SIZES),	 (TONE_DTMF_TICKS),	0,	  	1,		1	//	8	
	};

#endif

#if 0	//2002-03-28 modified ready, Yancj 
		//
	//tick數(shù)
	//內(nèi)容 ARM				HFC				ARM	    HFC	 文件	發(fā)聲聲音周期	連續(xù)  
	//描述 文件				文件			緩存緩存長(zhǎng)度	周期周期次數(shù)	次數(shù)                                    
	//														                                          					
TONE_APP_DATA_BUF_t gTONE_Data_Buf_Main[] = {								
	"NULL",	TONE_FILE_NULL,         	TONE_FILE_NULL,		0,   0,   	800,	  	10,	  	0,	  	1,		1,	//	0		
	"KEYS",	TONE_FILE_ARM_KEYS, 	TONE_FILE_HFC_KEYS,	0,   0,	16*800,	10,	  	0,	  	1,		1,	//	1		
	"REMV",	TONE_FILE_ARM_REMV, TONE_FILE_HFC_REMV,	0,   0,	4000,	50,		100,	  	3,		1,	//	2	
	"CHGE",	TONE_FILE_ARM_CHGE, TONE_FILE_HFC_CHGE,	0,   0,	8000,	100,		300,	 	10,		1,	//	3	
	"RING",	TONE_FILE_ARM_RING, 	TONE_FILE_HFC_RING,	0,   0,	7200,	90,		500,	 	60,		1,	//	4	
	"PUBL",	TONE_FILE_ARM_PUBL, 	TONE_FILE_HFC_PUBL,	0,   0,	4800,	60,		260,	  	3,		1,	//	5
	"DIAL",	TONE_FILE_ARM_DIAL, 	TONE_FILE_HFC_DIAL,	0,   0,  	8000,	6000,	0,	  	1,   		60,	//	6

	"BUSY",	TONE_FILE_ARM_BUSY, TONE_FILE_HFC_BUSY,	0, 	0, 	2800,	 35,	 	70,		100,		1,	//	7
	"DTMF",	TONE_FILE_ARM_DTMF, TONE_FILE_HFC_DTMF,	0,	0, 	16*800,	 10,	  	0,	  	1,		1	//	8	
	};

#endif

/* BEGIN, 2002-05-15, Yancj */
/* PURPOSE: 需要定制參數(shù)*/
int gTONE_Interval_KEYS;			//兩個(gè)按鍵音之間間隔時(shí)間	
int gTONE_Interval_DTMF;		//兩個(gè)雙頻音之間間隔時(shí)間	
/* END */

//2個(gè)設(shè)備
//TONE_APP_DEVICE_INFO_t gTONE_App_Device_Info_HFC;	
TONE_APP_DEVICE_INFO_t gTONE_App_Device_Info_ARM;	

//6個(gè)定時(shí)器

//NU_TIMER TONE_Timer_HFC_Start;
//NU_TIMER TONE_Timer_HFC_Stop;
NU_TIMER TONE_Timer_HFC_Delay;

NU_TIMER TONE_Timer_ARM_Start;
NU_TIMER TONE_Timer_ARM_Stop;
NU_TIMER TONE_Timer_ARM_Delay;


//過(guò)去的與設(shè)備相關(guān)2條消息
TONEMSGRSV_t	TONE_ARM_Msg_Rsv;		//按鍵保留的消息
TONEMSGRSV_t	TONE_HFC_Msg_Rsv;		//雙頻保留的消息

int 	gTONE_Fifo_Keys_Is_Null;		
int 	gTONE_Fifo_Dtmf_Is_Null;		

/* begin 2003-10-22, huangm */
/* resume the bug of TONE lose number */
/*
	DTMF_Flag
	value
		true:		tone task have received message from tone_HISR_Timer_HFC_Delay()
		
		false:		tone task have not received message, so tone_HISR_Timer_HFC_Delay()
					do not send another message
*/
bool	DTMF_Flag = true;

/* end */

extern bool g_wait_dtmf_send;

extern int IsSoundPlayAvailable (void);

/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App"          音頻服務(wù).應(yīng)用層服務(wù)入口	        
*
***********************************************************************/
void tone_App(UNSIGNED argc, VOID *argv)	
{
	STATUS		status; 
	PRINTFLOW("Begin: tone_App");

	status = tone_App_Start();		//音頻服務(wù).啟動(dòng)函數(shù)		//分配數(shù)據(jù)空間
	status = tone_App_Process();	//音頻服務(wù).處理函數(shù)
	status = tone_App_Stop();		//音頻服務(wù).停止函數(shù)		//釋放數(shù)據(jù)空間

	PRINTFLOW("Enddd: tone_App ");
	return;
}	



/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App_Start"          音頻服務(wù).啟動(dòng)	        
*
***********************************************************************/
int tone_App_Start(void)
{
	//UINT2 num;
	//int i;
	STATUS	status; 

	//音頻服務(wù).成為文件系統(tǒng)的客戶
	status = NU_Become_File_User();
	if (status != 1) 
	{
		PRINTERRR("tone_App_Start: %8d\t NU_Become_File_User", status);  
		LogError("Error %s L %d\n",__FILE__,__LINE__);
		return -1;
	}

	//數(shù)據(jù)緩存.初始化
	//num = sizeof(gTONE_Data_Buf_Main)/sizeof(TONE_APP_DATA_BUF_t);
	//status = tone_App_Data_Buf_Init(gTONE_Data_Buf_Main, num);	//初始音頻數(shù)據(jù)
	
	 status = tone_App_Data_Init(gTONE_Data_Buf_Main);

#if 0
	printf("pDesc   iDevice   iBuf   iPeriod_Send   iPeriod_Tone   iLoop_Period   iLoop_Series \n" );
	for(i=0; i<=8;i++)
	{
		printf("%s\t %d\t %d\t %d\t %d\t %d\t %d\n", gTONE_Data_Buf_Main[i].pDesc,
											gTONE_Data_Buf_Main[i].iDevice,
											gTONE_Data_Buf_Main[i].iBuf,
											gTONE_Data_Buf_Main[i].iPeriod_Send,
											gTONE_Data_Buf_Main[i].iPeriod_Tone,
											gTONE_Data_Buf_Main[i].iLoop_Period,
											gTONE_Data_Buf_Main[i].iLoop_Series);
	}
#endif
 
	TONE_HFC_Msg_Rsv.current =0;
	TONE_HFC_Msg_Rsv.size = 50;
	
	TONE_ARM_Msg_Rsv.current =0;
	TONE_ARM_Msg_Rsv.size = 50;
	//定時(shí)器.創(chuàng)建
							//timer					name	expiration_routine		id  init resc	enable	
//	status = NU_Create_Timer(&TONE_Timer_HFC_Start,  "TT_01",  tone_HISR_Timer_HFC_Start, 1, 	20,	20,	NU_DISABLE_TIMER); 
//	status = NU_Create_Timer(&TONE_Timer_HFC_Stop,   "TT_02",  tone_HISR_Timer_HFC_Stop,  1, 	20,	20,	NU_DISABLE_TIMER);
	status = NU_Create_Timer(&TONE_Timer_HFC_Delay,  "TT_03", tone_HISR_Timer_HFC_Delay, 1, 	gTONE_Interval_DTMF, gTONE_Interval_DTMF,	NU_DISABLE_TIMER);

	status = NU_Create_Timer(&TONE_Timer_ARM_Start,  "TT_11",  tone_HISR_Timer_ARM_Start, 1, 	20,	20,	NU_DISABLE_TIMER);
	status = NU_Create_Timer(&TONE_Timer_ARM_Stop,   "TT_12",  tone_HISR_Timer_ARM_Stop,  1, 	20,	20,	NU_DISABLE_TIMER);
	status = NU_Create_Timer(&TONE_Timer_ARM_Delay,  "TT_13", tone_HISR_Timer_ARM_Delay, 1, 	gTONE_Interval_KEYS, gTONE_Interval_KEYS,	NU_DISABLE_TIMER);

	return NU_SUCCESS;
}	

/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App_Stop"          音頻服務(wù).停止	        
*
***********************************************************************/
int tone_App_Stop(void)
{
	UINT2 num;

	RtnMSG	s_msg;

	STATUS		status; 
	PRINTFLOW("Begin: tone_App_Stop");

	NU_Release_File_User(); 

	//數(shù)據(jù)緩存.釋放
	num = sizeof(gTONE_Data_Buf_Main)/sizeof(TONE_APP_DATA_BUF_t);
	status = tone_App_Data_Buf_Deinit(gTONE_Data_Buf_Main, num);	//釋放音頻地址

	//定時(shí)器.釋放
//	status = NU_Control_Timer(&TONE_Timer_HFC_Start, NU_DISABLE_TIMER);
//	status = NU_Control_Timer(&TONE_Timer_HFC_Stop,  NU_DISABLE_TIMER);
	status = NU_Control_Timer(&TONE_Timer_HFC_Delay, NU_DISABLE_TIMER);	
	
	status = NU_Control_Timer(&TONE_Timer_ARM_Start, NU_DISABLE_TIMER);
	status = NU_Control_Timer(&TONE_Timer_ARM_Stop,  NU_DISABLE_TIMER);
	status = NU_Control_Timer(&TONE_Timer_ARM_Delay,  NU_DISABLE_TIMER);	


//	status = NU_Delete_Timer(&TONE_Timer_HFC_Start);
//	status = NU_Delete_Timer(&TONE_Timer_HFC_Stop);
	status = NU_Delete_Timer(&TONE_Timer_HFC_Delay);
	
	status = NU_Delete_Timer(&TONE_Timer_ARM_Start);
	status = NU_Delete_Timer(&TONE_Timer_ARM_Stop);
	status = NU_Delete_Timer(&TONE_Timer_ARM_Delay);


	//發(fā)出退出消息
	s_msg.msg_len = 0;
	s_msg.msg_code = MSG_MONT_EXIT_TONE;	
	status = NU_Send_To_Pipe(&rtn_pipe[MONT], &s_msg, s_msg.msg_len + 4, NU_NO_SUSPEND);  
	if (status < NU_SUCCESS) 
	{
		PRINTERRR("ERRR: NU_Send_To_Pipe: %d. ", status);  
		LogError("Error %s L %d\n",__FILE__,__LINE__);
	}

	PRINTFLOW("Enddd: tone_App_Stop");
	return NU_SUCCESS;
}	

/**********************************************************************
*                                                                      
*  FUNCTION		"tone_App_Process"          音頻服務(wù).處理	        
*
***********************************************************************/
int tone_App_Process(void)
{

	RtnMSG	r_msg;
	RtnMSG	s_msg;
	UNSIGNED 	size;
	int pass;
	int valid;				//局部處理是否有效 0:無(wú)效 1: 有效	
	int processing;		//

	STATUS		status;
	PRINTFLOW("Begin: tone_App_Process");

	processing  = 1;
	valid = 0;
	
	//FIFO緩存.初始化
//	status = tone_App_Device_Buf_Init(&gTONE_App_Device_Info_HFC);
	status = tone_App_Device_Buf_Init(&gTONE_App_Device_Info_ARM);

	while(processing) 
	{
		//等待外部消息
		status =   NU_Receive_From_Pipe(&rtn_pipe[TONE] , &r_msg, MAX_MSG_BYTES, &size, NU_SUSPEND);  
		if (status != NU_SUCCESS) 
		{   
			PRINTERRR("TONE --- ERR: NU_Receive_From_Pipe: %8d\n", status);
			continue;
		}

		//
		//便于調(diào)試中屏蔽TONE模塊		2002-05-08
		//
		if (MSG_TONE_QUERY_MONT!=r_msg.msg_code)
		{
			//continue;
		}		

		//return;
		
		switch(r_msg.msg_code)
		{
//ISDN消息
/*
			case MSG_TONE_PHONE_CTRL_UIMM:
				switch(r_msg.msg_data[0])
				{
					case PHONE_CTRL_OFF:		//HFC2GCI	HFC2ST	ST2HFC
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_HFC2GCI, 0);
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_HFC2ST, 0);
						//PhDr_Iocntl(0, CNTLID_CONNECT_B1_ST2HFC, 0);						
						break;

					case PHONE_CTRL_ON:	//ST2GCI	GCI2ST	GCI2HFC
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_ST2GCI, 0);
						PhDr_Iocntl(0, CNTLID_CONNECT_B1_GCI2ST, 0);
						//PhDr_Iocntl(0, CNTLID_CONNECT_B1_GCI2HFC, 0);						
						break;

					default:
						PRINTERRR("err MSG_TONE_ISDN_UIMM msg_data[0]");
						LogError("Error %s L %d\n",__FILE__,__LINE__);
						break;
				
				}

				break;
*/

//退出消息
			case MSG_TONE_EXIT_MONT:
				processing = 0;
				break;
				
//維護(hù)消息
			case MSG_TONE_QUERY_MONT:	//	10011
				//發(fā)出存活消息
				s_msg.msg_len = 1;
				s_msg.msg_code = MSG_MONT_QUERY_RSP_TONE;
				s_msg.msg_data[0] = 1;
				status = NU_Send_To_Pipe(&rtn_pipe[MONT], &s_msg, s_msg.msg_len + 4, NU_NO_SUSPEND);  
				if (status < NU_SUCCESS) 
				{
					PRINTERRR("ERRR: NU_Send_To_Pipe: %d. ", status);  
					LogError("Error %s L %d\n",__FILE__,__LINE__);
				}

				break;

			case MSG_TONE_DTMFSEND_FINISH:
				s_msg.msg_len = 0;
				s_msg.msg_code = MSG_UIMM_NUMBER_SENT_UIMM;
				status = NU_Send_To_Pipe(&rtn_pipe[UIMM], &s_msg, s_msg.msg_len + 4, NU_NO_SUSPEND);  
				if (status < NU_SUCCESS) 
				{
					PRINTERRR("ERRR: NU_Send_To_Pipe: %d. ", status);  
					LogError("Error %s L %d\n",__FILE__,__LINE__);
				}
				
				break;

			case MSG_TONE_TEST_MNTN:
				//
				//維護(hù)操作
				//
				status = tone_Mntn_Test(r_msg);
				break;
//播放消息
			case MSG_TONE_KEYS_UIMM:	//按鍵音
				//			
				//按鍵消息預(yù)處理
				//
				status = tone_App_Pre_Msg_Keys(r_msg); 
									
				switch(status)
				{
					case TONE_FIFO_ADDED:		//已經(jīng)加入隊(duì)列
					
						PRINTINFO("tone_App_Pre_Msg_Keys: rtn: TONE_FIFO_ADDED");
						
						continue;						
						break;

					case TONE_FIFO_NOT_NEED:	//無(wú)需加入隊(duì)列
					
						PRINTINFO("tone_App_Pre_Msg_Keys: rtn: TONE_FIFO_NOT_NEED");
						
						break;
	
					default:			//處理過(guò)程中有錯(cuò)誤
					
						PRINTERRR("tone_App_Pre_Msg_Keys err");
						LogError("Error %s L %d\n",__FILE__,__LINE__);
						continue;
				}
				goto tone;		//暫時(shí),消息定義不合理的原因
				break;		
				

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合咪咪久久| 精品视频在线看| 久久精品国产一区二区三区免费看| 亚洲天堂网中文字| 日韩二区三区在线观看| 亚洲综合免费观看高清在线观看| 亚洲激情校园春色| 洋洋av久久久久久久一区| 亚洲主播在线播放| 偷拍一区二区三区| 青青草国产精品97视觉盛宴| 免费观看在线色综合| 精品一区二区三区香蕉蜜桃| 国产一区二区中文字幕| 国产成人精品综合在线观看 | 国产在线日韩欧美| 国产大片一区二区| 色综合天天综合网国产成人综合天 | 久久网站最新地址| 国产欧美日韩精品a在线观看| 国产精品网站在线观看| 亚洲免费观看高清在线观看| 亚洲午夜久久久久| 亚洲品质自拍视频网站| 首页国产丝袜综合| 国内欧美视频一区二区 | 中文子幕无线码一区tr| 成人性色生活片| www.日韩大片| 欧美在线看片a免费观看| 欧美福利视频一区| 亚洲精品一区二区在线观看| 久久精品视频免费| 亚洲激情成人在线| 美女视频一区在线观看| 成人免费视频免费观看| 欧美在线一区二区| 精品av久久707| 亚洲人123区| 奇米精品一区二区三区在线观看 | 亚洲最新视频在线播放| 石原莉奈一区二区三区在线观看| 国产真实乱子伦精品视频| 一区二区三区四区不卡在线| 亚洲午夜免费电影| 欧美性极品少妇| 欧美成人精品1314www| 中文av一区二区| 又紧又大又爽精品一区二区| 久久国产生活片100| 91在线免费看| 日韩免费一区二区| 亚洲欧美电影一区二区| 免费观看久久久4p| 成人动漫av在线| 日韩一级免费一区| 国产精品久久久久久久蜜臀| 日韩精品视频网| av一区二区三区四区| 精品国产免费一区二区三区香蕉| 自拍偷拍欧美精品| 激情久久五月天| 欧美三级资源在线| 国产精品久久久久久久久果冻传媒| 日韩av网站在线观看| 91农村精品一区二区在线| 欧美精品一区二区三区蜜桃| 亚洲aaa精品| 色综合久久六月婷婷中文字幕| 精品欧美乱码久久久久久| 一区二区国产视频| 成人av网站免费观看| 精品三级在线观看| 亚洲bt欧美bt精品777| 色综合欧美在线| 国产精品久久二区二区| 国产一区久久久| 欧美zozozo| 日日欢夜夜爽一区| 欧美影院一区二区| 亚洲免费观看高清在线观看| 成人精品国产一区二区4080| 久久亚洲二区三区| 美国欧美日韩国产在线播放| 欧美精品第1页| 亚洲一级二级三级| 欧亚一区二区三区| 一区二区三区在线播| 99国产精品99久久久久久| 国产视频一区在线观看| 国产乱妇无码大片在线观看| 精品精品欲导航| 另类小说综合欧美亚洲| 91精品国产黑色紧身裤美女| 午夜精品久久久久久| 91成人国产精品| 懂色av一区二区三区免费看| 久久一区二区三区国产精品| 久久99国产精品免费网站| 欧美大胆人体bbbb| 免费成人av在线| 精品日韩欧美在线| 激情综合色综合久久综合| 精品国产一区二区精华| 韩国av一区二区三区| 久久在线观看免费| 国产精品亚洲视频| 国产精品久久久一区麻豆最新章节| 成人污污视频在线观看| 国产精品久久影院| 色综合久久中文综合久久97| 亚洲永久免费视频| 在线成人av影院| 国模少妇一区二区三区| 久久看人人爽人人| 波多野结衣在线一区| 亚洲另类在线制服丝袜| 欧美日韩一卡二卡三卡| 免费日韩伦理电影| 国产亚洲精品资源在线26u| 懂色av一区二区三区免费看| 18欧美乱大交hd1984| 欧美综合在线视频| 日韩黄色免费网站| 国产午夜精品久久久久久免费视| 成人午夜视频网站| 一区二区三区欧美久久| 欧美高清视频一二三区| 国产自产2019最新不卡| 亚洲欧洲三级电影| 欧美高清激情brazzers| 国产在线精品一区在线观看麻豆| 中文字幕av免费专区久久| 91蜜桃在线观看| 日韩不卡一二三区| 国产欧美一区二区精品仙草咪| 一本高清dvd不卡在线观看| 日日摸夜夜添夜夜添亚洲女人| 久久综合精品国产一区二区三区| av在线免费不卡| 日本视频一区二区三区| 国产精品无人区| 欧美绝品在线观看成人午夜影视| 精品在线观看免费| 亚洲欧美成aⅴ人在线观看| 欧美一级高清大全免费观看| 成人手机在线视频| 偷偷要91色婷婷| 国产精品乱码一区二三区小蝌蚪| 欧美人狂配大交3d怪物一区| 国产不卡在线播放| 亚洲国产wwwccc36天堂| 国产欧美一区二区三区网站| 欧美三级午夜理伦三级中视频| 国产精品一区二区视频| 亚洲一级片在线观看| 国产调教视频一区| 精品1区2区3区| 波多野结衣精品在线| 人人超碰91尤物精品国产| 亚洲日本va午夜在线电影| 欧美成人r级一区二区三区| 91麻豆国产福利精品| 国产乱码精品一品二品| 日韩电影在线免费| 亚洲精品视频一区二区| 国产网站一区二区三区| 日韩视频一区在线观看| 在线观看日韩高清av| 国产**成人网毛片九色| 美国精品在线观看| 亚洲va天堂va国产va久| 亚洲色图欧洲色图| 久久毛片高清国产| 日韩视频中午一区| 欧美日韩国产乱码电影| 色综合天天综合网天天看片| 国产99久久久国产精品免费看| 蜜臀av一级做a爰片久久| 亚洲成人动漫av| 亚洲最色的网站| 亚洲精品免费在线播放| 国产精品美女久久久久久 | 亚洲综合区在线| 国产精品家庭影院| 久久久久国产成人精品亚洲午夜| 91精品国产色综合久久不卡电影| 91久久精品一区二区三区| 成人国产精品免费观看视频| 国产精品白丝jk白祙喷水网站| 人人狠狠综合久久亚洲| 无吗不卡中文字幕| 午夜视频一区二区三区| 一区二区三区加勒比av| 亚洲三级视频在线观看| 中文字幕一区av| 成人欧美一区二区三区白人| 国产精品天干天干在观线| 久久久99精品免费观看| 久久久久久久综合狠狠综合|