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

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

?? faxdm.cpp

?? dialogic卡
?? CPP
字號(hào):
// faxdm.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <srllib.h>
#include <dxxxlib.h>
#include <dtilib.h>
#include <faxlib.h>
#include <fcntl.h>
#include <sctools.h>
#define MAXCHAN 30 //Maximum number of channels allowed.
//change DNIS_LEN and ANI_LEN before you run this program, make them are with computer1
#define DNIS_LEN 3 //The Dialed Number Identification Number Service length
#define ANI_LEN 7 //The Automatic Number identification length, can change
char *voxchannels[] = {
	"dxxxB1C1" , "dxxxB1C2" , "dxxxB1C3" , "dxxxB1C4",
		"dxxxB2C1" , "dxxxB2C2" , "dxxxB2C3" , "dxxxB2C4",
		"dxxxB3C1" , "dxxxB3C2" , "dxxxB3C3" , "dxxxB3C4",
		"dxxxB4C1" , "dxxxB4C2" , "dxxxB4C3" , "dxxxB4C4",
		"dxxxB5C1" , "dxxxB5C2" , "dxxxB5C3" , "dxxxB5C4",
		"dxxxB6C1" , "dxxxB6C2" , "dxxxB6C3" , "dxxxB6C4",
		"dxxxB7C1" , "dxxxB7C2" , "dxxxB7C3" , "dxxxB7C4",
		"dxxxB8C1" , "dxxxB8C2" ,
		NULL,
};
char *dtichannels[] = {
	"dtiB1T1" , "dtiB1T2" , "dtiB1T3" , "dtiB1T4",
		"dtiB1T5" , "dtiB1T6" , "dtiB1T7" , "dtiB1T8",
		"dtiB1T9" , "dtiB1T10", "dtiB1T11", "dtiB1T12",
		"dtiB1T13", "dtiB1T14", "dtiB1T15", "dtiB1T16",
		"dtiB1T17", "dtiB1T18", "dtiB1T19", "dtiB1T20",
		"dtiB1T21", "dtiB1T22", "dtiB1T23", "dtiB1T24",
		"dtiB1T25", "dtiB1T26", "dtiB1T27", "dtiB1T28",
		"dtiB1T29", "dtiB1T30",
		NULL,
};
static int fsig[15][2]={
	{1380,1500},{1380,1620},{1500,1620},{1380,1740},{1500,1740},
	{1620,1740},{1380,1860},{1500,1860},{1620,1860},{1740,1860},
	{1380,1980},{1500,1980},{1620,1980},{1740,1980},{1860,1980}
};
static int bsig[15][2]={
	{1140,1020},{1140, 900},{1020, 900},{1140, 780},{1020, 780},
	{ 900, 780},{1140, 660},{1020, 660},{ 900, 660},{ 780, 660},
	{1140, 540},{1020, 540},{ 900, 540},{ 780, 540},{ 660, 540}
};
static int ssig[17][2]={
	{ 700, 900},{ 700,1100},{ 900,1100},{ 700,1300},{ 900,1300},
	{1100,1300},{ 700,1500},{ 900,1500},{1100,1500},{1300,1500},
	{1500,1700},{ 700,1700},{ 900,1700},{1300,1700},{1100,1700},
	{1700, 0},{1900, 0}
};
int protocol = R2_SIGNAL;

typedef struct CHANNEL {
	int vox;
	int dti;
	int hook;
} ;
struct CHANNEL dev[MAXCHAN];
// Declarations for the multithreaded part
int faxproc();
int r2_playfsig(int voxdev, int forwardsig, int backwardsig,int mode);
int r2_creatbsig(int voxdev,int toneid);
int dt_onhook(int dtidev);
int printts(int dtidev);
int sendfax(char *filehandle,int faxdev);
int dialout(int dtidev, int voxdev, char * dnis, char *ani);
void printstart(void);
/*************************************************************************
* NAME : main()
* DESCRIPTION : Entry point to application.
* RETURNS : 0.
* CAUTIONS : none.
*************************************************************************/
int main(void)
{
	int mode = 1000;
	printstart();
	if(sr_setparm(SRL_DEVICE,SR_INTERPOLLID,&mode)==-1){
		printf("sr_setparm() error.\n");
		return 0;
	}
	faxproc();
	return 0;
	
}
/*************************************************************************
* NAME : faxproc(i)
*************************************************************************/
int faxproc()
{
	static char Ani[ANI_LEN+3]="1234567";
	static char Dnis[DNIS_LEN+3]="123";
	char chan[4];
	int faxdev,j;

	printf("\n\nPlease input the Called ID [DNIS]: ");
	gets(Dnis);
	printf("Please input the Caller ID [ANI]: ");
	gets(Ani);
	printf("Please input the channel number you want to use (1..30):");
	gets(chan);
	j=atoi(chan);
	if((j<1) || (j>30)) {
		printf("Invalid channel number, use default 1.\n");
		j=1;
	}
	j--;
	if ((dev[j].vox = dx_open(voxchannels[j], 0)) == -1) {
		printf("Error opening channel %s\n",voxchannels[j]);
		exit(1);
	}
	if ((dev[j].dti = dt_open(dtichannels[j], 0)) == -1) {
		printf("Error opening channel %s\n",dtichannels[j]);
		exit(1);
	}
	if(nr_scroute(dev[j].dti,SC_DTI,dev[j].vox,SC_VOX,SC_FULLDUP)==-1){
		printf("Can not route sc.\n");
		exit(1);
	}
	//set tone detection
	dx_deltones(dev[j].vox);
	if(r2_creatbsig(dev[j].vox,R2_ALLFSIG)==-1){
		printf("r2_creatfsig() error.\n");
		return -1;
	}
	printf("j=%d, %s ,%s\n",j,Dnis,Ani);
	dev[j].hook=DX_ONHOOK;
	dt_onhook(dev[j].dti);
	printf("Dialing %s on channel %s...\n",Ani,ATDV_NAMEP(dev[j].vox));
		if(dialout(dev[j].dti,dev[j].vox,Dnis,Ani)==-1){
			printf("Unsuccessful Dial.\n");
			dt_onhook(dev[j].dti);
			return 0;
		}
		dev[j].hook=DX_OFFHOOK;
		if((faxdev=fx_open("dxxxB9C1",0))==-1){
			printf("Error: cannot open fax device\n");
			return 1;
		}
		printf("Using VFX dxxxB9C1 channel\n");
		nr_scroute(dev[j].dti,SC_DTI,faxdev,SC_FAX,SC_FULLDUP);
		sendfax("e1test.tif",faxdev);
		fx_close(faxdev);
		if (dx_close(dev[j].vox) == -1) {
			printf("Error closing channel %s\n",voxchannels[j]);
			exit(1);
			
		}
		if (dt_close(dev[j].dti) == -1) {
			fprintf(stderr, "Error closing channel %s\n",dtichannels[j]);
			exit(1);
		}
		return 0L;
}
/*******************************************************
* Name: int dt_onhook(int dtidev)
* Function: set dti device on hook
* Parameter: int dtidev is dti device channel handle
* Return value: 0, if successful
* : -1, unsuccessful
*******************************************************/
int dt_onhook(int dtidev)
{
	int retval;
	long tsbits, arcv, brcv, axmt, bxmt;
	//set abcd(xxxx)-->xx11
	if(dt_settssig(dtidev,DTB_CBIT|DTB_DBIT,DTA_ADDMSK)==-1){
		printf("dt_settssig() in dt_onhook(1) error.\n");
		return -1;
	}
	//get forward and backward a,b bit
	if((tsbits=ATDT_TSSGBIT(dtidev))==AT_FAILURE){
		printf("ATDT_TSSGBIT() in dt_onhook(2) error\n");
		return -1;
	}
	arcv=(tsbits & DTSG_RCVA)?1:0;//ForWard
	brcv=(tsbits & DTSG_RCVB)?1:0;
	axmt=(tsbits & DTSG_XMTA)?1:0;//BackWard
	bxmt=(tsbits & DTSG_XMTB)?1:0;
	
	//The old state is already hangup when (FW:10 && BW:10);
	if((axmt==1)&&(bxmt==0)&&(arcv==1)&&(brcv==0))
		return 0;//successful
	//The forward signal hangs up first (FW:10);
	if((arcv==1)&&(brcv==0)){
		if(axmt==0) //BW:01-->11
			if((retval=dt_settssig(dtidev,DTB_ABIT,DTA_ADDMSK))!=0){
				printf("dt_settssig() in dt_onhook(3) error\n");
				return -1;
			}
			//BW:11-->10
			if((retval=dt_settssig(dtidev,DTB_BBIT,DTA_SUBMSK))!=0){
				printf("dt_settssig() in dt_onhook(4) error\n");
				return -1;
			}
			return 0;//successful
	}
	//Else, the backword signal hangs up first
	//BW:01-->11
	if((retval=dt_settssig(dtidev,DTB_ABIT,DTA_ADDMSK))!=0){
		printf("dt_settssig() in dt_onhook(5) error\n");
		return -1;
	}
	do{//until FW:00-->10
		if((tsbits=ATDT_TSSGBIT(dtidev))==AT_FAILURE){
			printf("ATDT_TSSGBIT() in dt_onhook(6) error\n");
			return -1;
		}
		arcv=(tsbits & DTSG_RCVA)?1:0;
		brcv=(tsbits & DTSG_RCVB)?1:0;
		axmt=(tsbits & DTSG_XMTA)?1:0;
		bxmt=(tsbits & DTSG_XMTB)?1:0;
	}while(arcv!=1);
	
	//BW:11-->10
	if((retval=dt_settssig(dtidev,DTB_BBIT,DTA_SUBMSK))!=0){
		printf("dt_settssig() in dt_onhook(7) error\n");
		return -1;
	}
	return 0;//successful
}
int printts(int dtidev)
{
	long tsbits;
	int arcv,brcv,crcv,drcv,axmt,bxmt,cxmt,dxmt;
	if((tsbits=ATDT_TSSGBIT(dtidev))==AT_FAILURE){
		printf("ATDT_TSSGBIT() error.\n");
		return -1;
	}
	arcv=(tsbits & DTSG_RCVA)?1:0;
	brcv=(tsbits & DTSG_RCVB)?1:0;
	crcv=(tsbits & DTSG_RCVC)?1:0;
	drcv=(tsbits & DTSG_RCVD)?1:0;
	axmt=(tsbits & DTSG_XMTA)?1:0;
	bxmt=(tsbits & DTSG_XMTB)?1:0;
	cxmt=(tsbits & DTSG_XMTC)?1:0;
	dxmt=(tsbits & DTSG_XMTD)?1:0;
	printf("\t\tRX=%d %d %d %d, ",arcv,brcv,crcv,drcv);
	printf("\t\tTX=%d %d %d %d.\n",axmt,bxmt,cxmt,dxmt);
	return 0;
}
int r2_creatbsig(int voxdev,int toneid)
{
	int baseid=toneid, lastid=toneid, td;
	int toneidx;
	if(toneid==R2_ALLFSIG){
		baseid=R2_BASEID;
		
		lastid=R2_LASTID;
	}
	baseid+=15;
	lastid+=15;
	for(td=baseid;td<=lastid;td++){
		toneidx = td - R2_BASEID - 15;
		if(dx_blddt(td,bsig[toneidx][0],50,
			bsig[toneidx][1],50,TN_LEADING)==-1) return -1;
		if(dx_addtone(voxdev,NULL,0)==-1) return -1;
	}
	return 0;
}
int r2_playfsig(int voxdev, int forwardsig, int backwardsig,
				int mode)
{
	int toneidx;
	TN_GEN tngen;
	static DV_TPT tpt[2];
	int errno;
	toneidx=forwardsig - R2_BASEID;
	switch(protocol){
	case SOC_SIGNAL: //2
		dx_bldtngen(&tngen, ssig[toneidx][0], ssig[toneidx][1],SOC_DEFAMPL, SOC_DEFAMPL, -1);
		break;
	case R2_SIGNAL: //1
	default:
		dx_bldtngen(&tngen, fsig[toneidx][0], fsig[toneidx][1],R2_DEFAMPL, R2_DEFAMPL, 60*100);
		break;
	}
	dx_clrtpt(tpt,2);
	tpt[0].tp_type=IO_CONT;
	tpt[0].tp_termno=DX_TONE;
	tpt[0].tp_length=backwardsig;
	tpt[0].tp_flags=TF_TONE;
	tpt[0].tp_data=DX_TONEON;
	tpt[1].tp_type=IO_EOT;
	tpt[1].tp_termno=DX_MAXTIME;
	tpt[1].tp_length=200;
	tpt[1].tp_flags=TF_10MS;
	//printf("FW=%d; BW=%d\n",forwardsig,backwardsig);
	errno=dx_playtone(voxdev,&tngen,tpt,mode);
	if(errno==-1)printf("Error %s\n",ATDV_ERRMSGP(voxdev));
	return errno;
}
int dialout(int dtidev, int voxdev, char * dnis, char *ani)
{
	static char dialstring[DNIS_LEN+ANI_LEN+6];
	int i;
	long tsbits,timeout=15000,time=0;
	int arcv,brcv;
	int axmt,bxmt;
	int evtdat,bksig;
	static DX_EBLK eblk;
	//if dnis includes any error digits
	for(i=0;i<(int)strlen(dnis);i++)
		if((dnis[i]>'9')||(dnis[i]<'0')){
			printf("%s: The telephone number is not correct.\n",ATDV_NAMEP(voxdev));
			return -1;
		}
		for(i=0;i<(int)strlen(ani);i++)
			if((ani[i]>'9')||(ani[i]<'0')){
				printf("%s: The telephone number is not correct.\n",ATDV_NAMEP(voxdev));
				return -1;
				
			}
			//empty the event queue
			if(dx_getevt(voxdev,&eblk,1)>=0){
				while(dx_getevt(voxdev,&eblk,1)>=0)
					;
			}
			printf("-----------------%s_%s\n",dnis,ani);
			//set 1011-->0011
			if(dt_settssig(dtidev,DTB_ABIT,DTA_SUBMSK)!=0){
				printf("dt_settssig() error.\n");
				return -1;
			}
			time=0;
			do{
				Sleep(50);
				time+=50;
				if((tsbits=ATDT_TSSGBIT(dtidev))==AT_FAILURE){
					printf("ATDT_TSSGBIT() error\n");
					return -1;
				}
				arcv=(tsbits & DTSG_RCVA)?1:0;
				brcv=(tsbits & DTSG_RCVB)?1:0;
				axmt=(tsbits & DTSG_XMTA)?1:0;
				bxmt=(tsbits & DTSG_XMTB)?1:0;
				if(time>timeout) return -1;
			}while(!((arcv==1)&&(brcv==1)&&(axmt==0)&&(bxmt==0)));
			//Multiple Frequency Control Process Starts
			//FW: 1 6 8 x 6 5 0 4 5 3 6 5 SIGI_15 SIGII_3
			//BW: A1 A1 A6 A1 A1 A1 A1 A1 A1 A1 A1 A1 A3 B1
			strcpy(dialstring,dnis);//dnis=168
			strcat(dialstring,"1"); //x, calling type
			strcat(dialstring,ani); //ani=65045365
			printf("--------------The number is %s\n",dialstring);
			for(i=0;i<(int)strlen(dialstring);i++){
				
				if(dialstring[i]=='0') evtdat=SIGI_10;
				else evtdat=dialstring[i]-0x31+SIGI_1;
				if(i==(int)(strlen(dnis)-1)) bksig=121;//A6
				else bksig=116;//A1
				//dial process
				//printf("i=%2d, Sending Char '%c', BK Signal=%d\n",i,dialstring[i],bksig);
					if(r2_playfsig(voxdev,evtdat,bksig,EV_SYNC)==-1){
						printf("r2_playfsig error.\n");
						return -1;
					}
					//Backward signal SIGA_1 Toneon
					if(dx_getevt(voxdev,&eblk,10)==-1){
						printf("dx_getevt(1) in dialout(%d)\n",i);
						return 0;
					}
					//Backward signal SIGA_1 Toneoff
					if(dx_getevt(voxdev,&eblk,10)==-1){
						printf("dx_getevt(2) in dialout(%d)\n",i);
						return 0;
					}
			}//end sending dialing string
			//Send SIGI_15 ,BK:A3
			if(r2_playfsig(voxdev,SIGI_15,118,EV_SYNC)==-1){
				printf("r2_playfsig(3) error.\n");
				return -1;
			}
			//Get
			dx_getevt(voxdev,&eblk,10);//SIGI_15 Toneon
			dx_getevt(voxdev,&eblk,10);//SIGI_15 Toneoff
			//Send SIGII_3 ,BK:SIGB_1
			if(r2_playfsig(voxdev,113,116,EV_SYNC)==-1){
				printf("r2_playfsig() error.\n");
				return -1;
			}
			//Get
			dx_getevt(voxdev,&eblk,10);//SIGB_1 Toneon
			dx_getevt(voxdev,&eblk,10);//SIGB_1 Toneoff
			//If not SIGB_1, error or busy
			if(eblk.ev_data!=116){
				if(r2_playfsig(voxdev,116,eblk.ev_data,EV_SYNC)==-1){
					printf("r2_playfsig() error.\n");
					return -1;
				}
				dx_getevt(voxdev,&eblk,10);//SIGB_1 TONEON
				dx_getevt(voxdev,&eblk,10);//SIGB_1 TONEOFF
				printf("%s: The line %s is busy.\n",ATDV_NAMEP(voxdev),dnis);
				return -1;
			}
			//MFC ends here.
			printf("%s: Ringing...\n",ATDV_NAMEP(voxdev));
			time=0;
			do{
				if((tsbits=ATDT_TSSGBIT(dtidev))==AT_FAILURE){
					printf("ATDT_TSSGBIT() error.\n");
					return -1;
				}
				arcv=(tsbits & DTSG_RCVA)?1:0;
				brcv=(tsbits & DTSG_RCVB)?1:0;
				axmt=(tsbits & DTSG_XMTA)?1:0;
				bxmt=(tsbits & DTSG_XMTB)?1:0;
				if(brcv==0) return dt_onhook(dtidev);
				Sleep(250);
				time+=250;
				if(time>timeout){
					printf("%s: The line %s has no answer.\n",ATDV_NAMEP(voxdev),dialstring);
					return -1;
				}
			} while(arcv==1);//11-->01 From ONHOOK to OFFHOOK
			
			printf("%s: %s OFFHOOK.\n",ATDV_NAMEP(voxdev),dnis);
			return 0;
}
// ********************* FAX *************************
int sendfax(char *filehandle,int faxdev)
{
	DF_IOTT iott;
	int tifd1;
	int errorval;
	unsigned short value;
	if(fx_initstat(faxdev,DF_TX)==-1){
		printf(" %s: Error initstat().\n",ATDV_NAMEP(faxdev));
		return 1;
	}
	printf("%s: fx_initstat() done.\n",ATDV_NAMEP(faxdev));
	value=DFC_AUTO;
	if(fx_setparm(faxdev,FC_SENDCONT,(void*)&value)==-1){
		printf("%s: Error fx_setparm fax. %d %s\n",ATDV_NAMEP(faxdev),ATDV_LASTERR(faxdev),ATDV_ERRMSGP(faxdev));
	}
	printf("%s: fx_setparm() done.\n",ATDV_NAMEP(faxdev));
	tifd1=dx_fileopen(filehandle,O_RDONLY|O_BINARY,NULL);
	if(tifd1==-1) {
		printf("%s: File \"%s\" not found.\n",ATDV_NAMEP(faxdev),filehandle);
		return 1;
	}
	fx_setiott(&iott,tifd1,DF_TIFF,DFC_EOP);
	iott.io_type=IO_DEV|IO_EOT;
	iott.io_firstpg=0;
	iott.io_pgcount=(long int)-1L;
	iott.io_fhandle=tifd1;
	iott.io_datatype=DF_TIFF;
	
	iott.io_phdcont=DFC_EOP;
	printf("Begin sending fax \"%s\".\n",filehandle);
	errorval=fx_sendfax(faxdev,&iott,EV_SYNC);
	printf("Sendfax error value is %d\n",errorval);
	if (errorval==-1){
		printf("%s: Error sending fax. %d %s\n",ATDV_NAMEP(faxdev),ATDV_LASTERR(faxdev),ATDV_ERRMSGP(faxdev));
	}
	printf("Sending fax completed.\n");
	return 0;
}
void printstart(void)
{
	printf("\nD/300SC-E1+VFX/40SC Demo Program for NT .\n");
	printf("Compiler: Visual C++2.0 Later.\n");
	printf("For more information, read the header of this source C++ code.\n");
	printf("\t\tDialogic Corporation, Beijing. Tel:8610-65045364.\n\n");
	printf("In this program DNIS_LEN=%d,ANI_LEN=%d\n",DNIS_LEN,ANI_LEN);
	printf("Please make BLT=0 for D/300 and BLT=1 for VFX, and config\n");
	printf("VFX as resource mode\n");
	printf("-------------------------------------------------------------------\n");
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频www| 蜜乳av一区二区| 亚洲一区二区三区免费视频| 日韩极品在线观看| 国产一区二区三区综合| 97国产一区二区| 一区二区三区四区乱视频| 亚洲一区二区三区免费视频| 日韩电影在线看| 国产白丝精品91爽爽久久| 99久久免费国产| 欧美一区二区三区白人| 欧美国产日产图区| 日韩成人免费电影| 成人av资源站| 日韩欧美一级二级三级| ㊣最新国产の精品bt伙计久久| 日韩黄色在线观看| 菠萝蜜视频在线观看一区| 欧美精品精品一区| 国产精品久久午夜夜伦鲁鲁| 日韩国产欧美三级| av成人免费在线观看| 欧美一区二区精品在线| 1区2区3区国产精品| 人妖欧美一区二区| 91丨porny丨国产| 精品99999| 天天操天天干天天综合网| 国产成人aaaa| 日韩欧美电影在线| 一区二区三区在线视频观看| 狠狠色狠狠色综合| 欧美电影在线免费观看| 亚洲欧洲日韩女同| 黄色成人免费在线| 亚洲一级二级三级| 国产主播一区二区三区| 91精品国产色综合久久不卡电影 | 天天综合日日夜夜精品| 成人av动漫网站| 精品久久久久久久久久久久久久久久久 | 蜜臀av性久久久久av蜜臀妖精| 91丨porny丨首页| 337p粉嫩大胆噜噜噜噜噜91av| 亚洲国产精品一区二区久久| 成av人片一区二区| 欧美电影精品一区二区| 亚洲一区二区欧美| 91福利在线免费观看| 国产精品美女一区二区在线观看| 国内精品伊人久久久久影院对白| 欧美日韩成人综合天天影院| 一区二区三区影院| 色综合天天综合网国产成人综合天| 日韩专区欧美专区| 色偷偷久久人人79超碰人人澡| 美女视频黄a大片欧美| 91成人在线精品| 国产精品久久久久婷婷二区次 | 欧美激情在线看| 国产在线播放一区| 日韩欧美一级二级三级| 蜜桃视频一区二区三区在线观看| 欧美日韩国产一级| 一区二区三区欧美久久| 91丨porny丨首页| 亚洲视频一区二区免费在线观看| 成人在线视频一区二区| 国产视频一区在线观看| 韩日av一区二区| 欧美精品一区二区三| 韩国成人福利片在线播放| 久久综合狠狠综合久久激情 | 久久综合色天天久久综合图片| 看片的网站亚洲| 日韩欧美国产1| 久久精品国产一区二区三区免费看| 日韩一区二区在线观看视频播放| 日韩国产一二三区| 日韩一区二区在线观看视频播放| 免费成人小视频| 精品国产乱码久久久久久图片 | 黄一区二区三区| 欧美一卡二卡三卡| 九九九精品视频| 精品久久久久香蕉网| 国产精品一区二区在线观看不卡 | k8久久久一区二区三区 | 一本到三区不卡视频| 亚洲激情成人在线| 欧美少妇一区二区| 青青草成人在线观看| 久久蜜桃av一区精品变态类天堂| 国产精品一区二区三区乱码| 一区视频在线播放| 欧美日韩另类国产亚洲欧美一级| 日本不卡一区二区| 精品国产三级a在线观看| 国产精品综合久久| 国产精品福利电影一区二区三区四区| 色综合久久久网| 日韩在线一区二区三区| 精品国产乱码久久久久久免费 | ...xxx性欧美| 欧美理论在线播放| 精东粉嫩av免费一区二区三区| 中文字幕免费不卡| 欧美伊人精品成人久久综合97| 日韩不卡一区二区三区 | 久久先锋影音av鲁色资源| av网站一区二区三区| 亚洲线精品一区二区三区八戒| 日韩欧美国产1| 成人福利视频网站| 亚洲超丰满肉感bbw| 久久综合资源网| 色94色欧美sute亚洲线路一ni| 免费av网站大全久久| 国产精品理伦片| 在线播放亚洲一区| 风间由美性色一区二区三区| 亚洲国产精品久久久男人的天堂| 精品奇米国产一区二区三区| 99精品国产视频| 美女爽到高潮91| 亚洲人成亚洲人成在线观看图片| 欧美一激情一区二区三区| 99re66热这里只有精品3直播| 天堂精品中文字幕在线| 国产精品久久久久aaaa樱花| 91精品国产综合久久久久久久| 成人午夜av影视| 免费看日韩精品| 亚洲精品视频免费观看| 久久久久88色偷偷免费| 91精品国产综合久久小美女| eeuss鲁片一区二区三区| 久久精品国产精品亚洲精品| 亚洲另类一区二区| 国产亲近乱来精品视频| 日韩一级免费观看| 色综合久久综合网| 东方aⅴ免费观看久久av| 麻豆极品一区二区三区| 亚洲小说欧美激情另类| 国产成都精品91一区二区三| 日韩av二区在线播放| 亚洲色大成网站www久久九九| 久久综合网色—综合色88| 555夜色666亚洲国产免| 91在线观看下载| 国产成人免费视频网站| 秋霞影院一区二区| 亚洲成人第一页| 亚洲精选免费视频| 中文字幕 久热精品 视频在线| 欧美一区二区三区在线电影 | 亚洲网友自拍偷拍| 日韩一区有码在线| 国产日韩欧美精品综合| 精品国产一区二区亚洲人成毛片| 在线91免费看| 欧美日韩你懂得| 在线一区二区三区四区五区| 成人av网站在线观看免费| 国产精品亚洲人在线观看| 九九国产精品视频| 美国毛片一区二区| 日韩在线一区二区三区| 五月天激情综合网| 亚洲第一在线综合网站| 亚洲六月丁香色婷婷综合久久| 亚洲欧美综合另类在线卡通| 国产精品色眯眯| 中文字幕成人av| 国产精品久久久久婷婷二区次| 中国色在线观看另类| 国产精品免费av| 亚洲欧洲av色图| 亚洲欧美国产高清| 亚洲综合激情小说| 一区二区成人在线观看| 一区二区三区欧美视频| 一区二区三区国产豹纹内裤在线| 亚洲麻豆国产自偷在线| 大胆欧美人体老妇| 成人激情文学综合网| 成人h动漫精品| 色偷偷88欧美精品久久久| 在线一区二区观看| 欧美日韩一区二区欧美激情| 欧美日韩另类一区| 欧美一区二区三区在线看| 欧美成人在线直播| 国产性色一区二区| 国产精品狼人久久影院观看方式| **网站欧美大片在线观看| 一区二区不卡在线视频 午夜欧美不卡在 | 久久99久久久欧美国产|