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

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

?? ch375dll.pas

?? CH372/CH375的delphi開發(fā)源代碼
?? PAS
字號(hào):
unit CH375DLL;

interface
// 2003.09.08, 2003.12.28, 2004.10.15, 2004.12.05, 2004.12.10, 2005.01.20, 2005.02.23, 2005.07.15
//****************************************
//**  Copyright  (C)  W.ch  1999-2005   **
//**  Web:  http://www.winchiphead.com  **
//****************************************
//**  DLL for USB interface chip CH375  **
//**  C, VC5.0                          **
//****************************************
//
// USB總線接口芯片CH375的應(yīng)用層接口庫(kù)  V2.1
// 南京沁恒電子有限公司  作者: W.ch 2005.07
// CH375-DLL  V2.1 , Support: Ctrl/Bulk/Int
// 運(yùn)行環(huán)境: Windows 98/ME, Windows 2000/XP
// support USB chip: CH372/CH375
//
uses main,SysUtils,unit1;
Const
   mCH375_PACKET_LENGTH = 64;         // CH375支持的數(shù)據(jù)包的長(zhǎng)度
   mCH375_MAX_NUMBER = 16;            // 最多同時(shí)連接的CH375數(shù)
   mMAX_BUFFER_LENGTH = $1000;        // 數(shù)據(jù)緩沖區(qū)最大長(zhǎng)度
   mDEFAULT_BUFFER_LEN = $400;        // 數(shù)據(jù)緩沖區(qū)默認(rèn)長(zhǎng)度1024

// CH375端點(diǎn)地址
   mCH375_ENDP_INTER_UP = $81;        // CH375的中斷數(shù)據(jù)上傳端點(diǎn)的地址
   mCH375_ENDP_INTER_DOWN = $1;       // CH375的中斷數(shù)據(jù)下傳端點(diǎn)的地址
   mCH375_ENDP_DATA_UP = $82;         // CH375的數(shù)據(jù)塊上傳端點(diǎn)的地址
   mCH375_ENDP_DATA_DOWN = $2;        //CH375的數(shù)據(jù)塊下傳端點(diǎn)的地址

// 設(shè)備層接口提供的管道操作命令
   mPipeDeviceCtrl = $4;              // CH375的綜合控制管道;
   mPipeInterUp = $5;                 //CH375的中斷數(shù)據(jù)上傳管道;
   mPipeDataUp = $6;                  //CH375的數(shù)據(jù)塊上傳管道
   mPipeDataDown = $7;                //CH375的數(shù)據(jù)塊下傳管道
   mPipeAuxDown =$8;	              // CH375的輔助數(shù)據(jù)下傳管道

// 應(yīng)用層接口的功能代碼
   mFuncNoOperation = $H0;            // 無(wú)操作
   mFuncGetVersion = $1;              // 獲取驅(qū)動(dòng)程序版本號(hào)
   mFuncGetConfig = $2;               // 獲取USB設(shè)備配置描述符
   mFuncSetExclusive = $b;	      // 設(shè)置獨(dú)占使用
   mFuncResetDevice = $C;             // 復(fù)位USB設(shè)備
   mFuncResetPipe = $D;               // 復(fù)位USB管道
   mFuncAbortPipe = $E;               // 取消USB管道的數(shù)據(jù)請(qǐng)求
   mFuncSetTimeout = $0f;	      // 設(shè)置USB通訊超時(shí)
   mFuncBufferMode = $10;			// 設(shè)定緩沖上傳模式及查詢緩沖區(qū)中的數(shù)據(jù)長(zhǎng)度

// USB設(shè)備標(biāo)準(zhǔn)請(qǐng)求代碼
   mUSB_CLR_FEATURE = $1;
   mUSB_SET_FEATURE = $3;
   mUSB_GET_STATUS = $0 ;
   mUSB_SET_ADDRESS = $5;
   mUSB_GET_DESCR = $6;
   mUSB_SET_DESCR = $7;
   mUSB_GET_CONFIG = $8;
   mUSB_SET_CONFIG = $9;
   mUSB_GET_INTERF = $A;
   mUSB_SET_INTERF = $B;
   mUSB_SYNC_FRAME = $C;

// CH375控制傳輸?shù)膹S商專用請(qǐng)求類型
   mCH375_VENDOR_READ = $C0;          //通過控制傳輸實(shí)現(xiàn)的CH375供應(yīng)商專用讀操作
   mCH375_VENDOR_WRITE = $40;         //通過控制傳輸實(shí)現(xiàn)的CH375供應(yīng)商專用寫操作

// CH375控制傳輸?shù)墓?yīng)商專用請(qǐng)求代碼
   mCH375_SET_CONTROL = $51;          // 輸出控制信號(hào)
   mCH375_GET_STATUS = $52;           // 輸入狀態(tài)信號(hào)

// 寄存器的位定義
   mBitInputRxd = $2;                 // 只讀,RXD#引腳輸入狀態(tài),1:高電平,0:低電平
   mBitInputReq = $4;                 // 只讀,REQ#引腳輸入狀態(tài),1:高電平,0:低電平

// 直接輸入的狀態(tài)信號(hào)的位定義
   mStateRXD = $200;                  // RXD#引腳輸入狀態(tài),1:高電平,0:低電平
   mStateREQ = $400;                  // REQ#引腳輸入狀態(tài),1:高電平,0:低電平

type
  PVOID =Pointer;
  plong=pcardinal;
  TiIntRoutine=procedure(mbuffer:pbytearray);stdcall;

Type
        mUspValue=record
        mUspValueLow : Byte;
        mUspValueHigh : Byte;
End;
Type
        mUspIndex=record
        mUspIndexLow : Byte;
        mUspIndexHigh  : Byte;
End ;
Type
    USB_SETUP_PKT=record
    mUspReqType : Byte;
    mUspRequest : Byte;
    mUspValue : mUspValue;
    mUspIndex : mUspIndex;
    mLength : Integer;
End ;
Type
   WIN32_COMMAND=record               //定義WIN32命令接口結(jié)構(gòu)
   mFunction : cardinal;              //輸入時(shí)指定功能代碼或者管道號(hào)
                                      //輸出時(shí)返回操作狀態(tài)
   mLength : cardinal;                //存取長(zhǎng)度,返回后續(xù)數(shù)據(jù)的長(zhǎng)度
   mBuffer:array[0..(mCH375_PACKET_LENGTH-1)] of Byte;         //數(shù)據(jù)緩沖區(qū),長(zhǎng)度為0至255B                                           '數(shù)據(jù)緩沖區(qū),長(zhǎng)度為0至255B
End ;

var
   mUSB_SETUP_PKT :USB_SETUP_PKT;
   mWIN32_COMMAND : WIN32_COMMAND;
   mm:procedure(mbuffer:pbytearray);stdcall;

   Function CH375OpenDevice(iIndex :cardinal):cardinal ;Stdcall; external 'CH375DLL.DLL' ;
//打開CH375設(shè)備,返回句柄,出錯(cuò)則無(wú)效. 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備

   procedure CH375CloseDevice(iIndex :cardinal) ;Stdcall; external 'CH375DLL.DLL';
//關(guān)閉CH375設(shè)備,指定CH375設(shè)備序號(hào)

   Function CH375GetVersion():cardinal  ;Stdcall; external 'CH375DLL.DLL';
//獲得DLL版本號(hào),返回版本號(hào)

   Function CH375DriverCommand (           // 直接傳遞命令給驅(qū)動(dòng)程序,出錯(cuò)則返回0,否則返回?cái)?shù)據(jù)長(zhǎng)度
                 iIndex:cardinal;          // 指定CH375設(shè)備序號(hào),V1.6以上DLL也可以是設(shè)備打開后的句柄
                 ioCommand:WIN32_COMMAND   // 命令結(jié)構(gòu)的指針
                 ):cardinal;Stdcall;external 'CH375DLL.DLL';

// 該程序在調(diào)用后返回?cái)?shù)據(jù)長(zhǎng)度,并且仍然返回命令結(jié)構(gòu),如果是讀操作,則數(shù)據(jù)返回在命令結(jié)構(gòu)中,
// 返回的數(shù)據(jù)長(zhǎng)度在操作失敗時(shí)為0,操作成功時(shí)為整個(gè)命令結(jié)構(gòu)的長(zhǎng)度,例如讀一個(gè)字節(jié),則返回mWIN32_COMMAND_HEAD+1,
// 命令結(jié)構(gòu)在調(diào)用前,分別提供:管道號(hào)或者命令功能代碼,存取數(shù)據(jù)的長(zhǎng)度(可選),數(shù)據(jù)(可選)
// 命令結(jié)構(gòu)在調(diào)用后,分別返回:操作狀態(tài)代碼,后續(xù)數(shù)據(jù)的長(zhǎng)度(可選),
// 操作狀態(tài)代碼是由WINDOWS定義的代碼,可以參考NTSTATUS.H,
// 后續(xù)數(shù)據(jù)的長(zhǎng)度是指讀操作返回的數(shù)據(jù)長(zhǎng)度,數(shù)據(jù)存放在隨后的緩沖區(qū)中,對(duì)于寫操作一般為0

   Function CH375GetDrvVersion:cardinal;Stdcall; external'CH375DLL.DLL';
   //獲得驅(qū)動(dòng)程序版本號(hào),返回版本號(hào),出錯(cuò)則返回0

   Function CH375ResetDevice(iIndex:cardinal) : Boolean ;Stdcall; external 'CH375DLL.DLL';
   //復(fù)位USB設(shè)備, iIndex 指定CH375設(shè)備序號(hào)

   Function CH375GetDeviceDescr (iIndex :cardinal;oBuffer:pvoid;ioLength:plong) : Boolean ;Stdcall; external'CH375DLL.DLL';
   //讀取設(shè)備描述符
   //iIndex指定CH375設(shè)備序號(hào)
   //oBuffer指向一個(gè)足夠大的緩沖區(qū),用于保存描述符
   //ioLength指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備讀取的長(zhǎng)度,返回后為實(shí)際讀取的長(zhǎng)度

   Function CH375GetConfigDescr(iIndex :cardinal; oBuffer :pvoid; ioLength:plong) : Boolean ;Stdcall; external 'CH375DLL.DLL' ;
   //讀取配置描述符
   //iIndex指定CH375設(shè)備序號(hào)
   //oBuffer指向一個(gè)足夠大的緩沖區(qū),用于保存描述符
   //ioLength  指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備讀取的長(zhǎng)度,返回后為實(shí)際讀取的長(zhǎng)度

   Function CH375SetIntRoutine (iIndex:cardinal;iIntRoutine :TiIntRoutine) :boolean ;Stdcall; external 'CH375DLL.DLL';
   //設(shè)定中斷服務(wù)程序
   //iIndex指定CH375設(shè)備序號(hào)
   //iIntRoutine指定中斷服務(wù)程序,為NULL則取消中斷服務(wù),否則在中斷時(shí)調(diào)用該程序
   //"TiIntRoutine"過程傳遞參數(shù)要用非默認(rèn)的'Register'方式傳遞.

   Function CH375ReadInter(iIndex:cardinal;oBuffer:pvoid;ioLength :plong) :Boolean ; Stdcall;external 'CH375DLL.DLL';
   //讀取中斷數(shù)據(jù)
   //iIndex指定CH375設(shè)備序號(hào)
   //oBuffer指向一個(gè)足夠大的緩沖區(qū),用于保存描述符
   //ioLength指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備讀取的長(zhǎng)度,返回后為實(shí)際讀取的長(zhǎng)度

   Function CH375AbortInter (iIndex :cardinal) :Boolean ;Stdcall; external 'CH375DLL.DLL';
   //放棄中斷數(shù)據(jù)讀操作
   //iIndex  指定CH375設(shè)備序號(hào)

   Function CH375ReadData (iIndex :cardinal;oBuffer :pvoid;ioLength :plong):Boolean ;Stdcall; external 'CH375DLL.DLL'; //讀取數(shù)據(jù)塊
   //iIndex指定CH375設(shè)備序號(hào),oBuffer指向一個(gè)足夠大的緩沖區(qū),用于保存描述符,ioLength指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備讀取的長(zhǎng)度,返回后為實(shí)際讀取的長(zhǎng)度

   function CH375AbortRead(iIndex:cardinal):boolean ;Stdcall; external 'CH375DLL.DLL' ;
   //放棄數(shù)據(jù)塊讀操作
   //iIndex  指定CH375設(shè)備序號(hào)

   Function CH375WriteData(iIndex :cardinal;iBuffer :pvoid;ioLength :plong):longbool ;Stdcall; external 'CH375DLL.DLL';
   //先寫出標(biāo)準(zhǔn)的數(shù)據(jù)塊(命令,長(zhǎng)度不超過8字節(jié)),再讀取標(biāo)準(zhǔn)的數(shù)據(jù)塊(應(yīng)答,長(zhǎng)度不超過8字節(jié))
   //iIndex指定CH375設(shè)備序號(hào),oBuffer指向一個(gè)足夠大的緩沖區(qū),用于保存描述符,ioLength指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備讀取的長(zhǎng)度,返回后為實(shí)際讀取的長(zhǎng)度

   Function CH375AbortWrite (iIndex:cardinal):boolean ;Stdcall; external 'CH375DLL.DLL';
   //放棄數(shù)據(jù)塊寫操作
   //iIndex  指定CH375設(shè)備序號(hào)

   Function CH375WriteRead (iIndex:cardinal;iBuffer:byte;oBuffer :pvoid;ioLength:plong):Boolean ;Stdcall; external 'CH375DLL.DLL'; //寫出數(shù)據(jù)塊
   //iIndex指定CH375設(shè)備序號(hào),iBuffer指向一個(gè)緩沖區(qū),放置準(zhǔn)備寫出的數(shù)據(jù),長(zhǎng)度不大于mCH375_PACKET_LENGTH,oBuffer指向一個(gè)足夠大的緩沖區(qū),用于保存描述符,ioLength指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備讀取的長(zhǎng)度,返回后為實(shí)際讀取的長(zhǎng)度

   Function CH375GetStatus(iIndex:cardinal;var iStatus:plong):boolean ;Stdcall; external 'CH375DLL.DLL';
    //通過CH375直接輸入數(shù)據(jù)和狀態(tài)
    //iIndex   指定CH375設(shè)備序號(hào)
    //iStatus  指向一個(gè)雙字單元,用于保存狀態(tài)數(shù)據(jù)
    //位7-位0對(duì)應(yīng)CH375的D7-D0引腳,位9對(duì)應(yīng)CH375的RXD#引腳,位10對(duì)應(yīng)CH375的REQ#引腳

   Function CH375SetTimeout(         // 設(shè)置USB數(shù)據(jù)讀寫的超時(shí)
	    iIndex:cardinal;         // 指定CH375設(shè)備序號(hào)
	    iWriteTimeout:cardinal;  // 指定USB寫出數(shù)據(jù)塊的超時(shí)時(shí)間,以毫秒mS為單位,0xFFFFFFFF指定不超時(shí)(默認(rèn)值)
	    iReadTimeout:cardinal    // 指定USB讀取數(shù)據(jù)塊的超時(shí)時(shí)間,以毫秒mS為單位,0xFFFFFFFF指定不超時(shí)(默認(rèn)值)
                            ):boolean;Stdcall; external 'CH375DLL.DLL';

   Function CH375WriteAuxData(     // 寫出輔助數(shù)據(jù)
	iIndex:cardinal;           // 指定CH375設(shè)備序號(hào)
	iBuffer:pvoid;             // 指向一個(gè)緩沖區(qū),放置準(zhǔn)備寫出的數(shù)據(jù)
	ioLength:plong             // 指向長(zhǎng)度單元,輸入時(shí)為準(zhǔn)備寫出的長(zhǎng)度,返回后為實(shí)際寫出的長(zhǎng)度
                              ):boolean;Stdcall; external 'CH375DLL.DLL';

   Function CH375SetExclusive(  // 設(shè)置獨(dú)占使用當(dāng)前CH375設(shè)備
	iIndex:cardinal;        // 指定CH375設(shè)備序號(hào)
	iExclusive:cardinal     // 為0則設(shè)備可以共享使用,非0則獨(dú)占使用
         ):boolean;Stdcall; external 'CH375DLL.DLL';

   Function CH375GetUsbID(  // 獲取USB設(shè)備ID,返回?cái)?shù)據(jù)中,低16位為廠商ID,高16位為產(chǎn)品ID,錯(cuò)誤時(shí)返回全0(無(wú)效ID)
	    iIndex:cardinal // 指定CH375設(shè)備序號(hào)
                         ):cardinal;Stdcall; external 'CH375DLL.DLL';

   Function CH375GetDeviceName(  // 返回指向CH375設(shè)備名稱的緩沖區(qū),出錯(cuò)則返回NULL
	    iIndex:cardinal      // 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備
                               ):pvoid;Stdcall; external 'CH375DLL.DLL';

  Function CH375SetBufUpload(       // 設(shè)定內(nèi)部緩沖上傳模式
       iIndex:cardinal;             // 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備
        iEnableOrClear:cardinal ):longbool;Stdcall; external 'CH375DLL.DLL';  // 為0則禁止內(nèi)部緩沖上傳模式,使用直接上傳,非0則啟用內(nèi)部緩沖上傳模式并清除緩沖區(qū)中的已有數(shù)據(jù)
// 如果啟用內(nèi)部緩沖上傳模式,那么CH375驅(qū)動(dòng)程序創(chuàng)建線程自動(dòng)接收USB上傳數(shù)據(jù)到內(nèi)部緩沖區(qū),同時(shí)清除緩沖區(qū)中的已有數(shù)據(jù),當(dāng)應(yīng)用程序調(diào)用CH375ReadData后將立即返回緩沖區(qū)中的已有數(shù)據(jù)

  Function CH375QueryBufUpload(  // 查詢內(nèi)部上傳緩沖區(qū)中的已有數(shù)據(jù)包個(gè)數(shù),成功返回?cái)?shù)據(jù)包個(gè)數(shù),出錯(cuò)返回-1
        	iIndex:cardinal ):integer;Stdcall; external 'CH375DLL.DLL';  // 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備

  Function CH375SetBufDownload(  // 設(shè)定內(nèi)部緩沖下傳模式
	iIndex:cardinal;  // 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備
	iEnableOrClear:cardinal ):longbool;Stdcall; external 'CH375DLL.DLL';  // 為0則禁止內(nèi)部緩沖下傳模式,使用直接下傳,非0則啟用內(nèi)部緩沖下傳模式并清除緩沖區(qū)中的已有數(shù)據(jù)
// 如果啟用內(nèi)部緩沖下傳模式,那么當(dāng)應(yīng)用程序調(diào)用CH375WriteData后將僅僅是將USB下傳數(shù)據(jù)放到內(nèi)部緩沖區(qū)并立即返回,而由CH375驅(qū)動(dòng)程序創(chuàng)建的線程自動(dòng)發(fā)送直到完畢


  Function CH375QueryBufDownload(  // 查詢內(nèi)部下傳緩沖區(qū)中的剩余數(shù)據(jù)包個(gè)數(shù)(尚未發(fā)送),成功返回?cái)?shù)據(jù)包個(gè)數(shù),出錯(cuò)返回-1
        iIndex:cardinal ):integer;Stdcall; external 'CH375DLL.DLL';  // 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備


  Function CH375ResetInter(  // 復(fù)位中斷數(shù)據(jù)讀操作
	 iIndex:cardinal ):longbool;Stdcall; external 'CH375DLL.DLL';  // 指定CH375設(shè)備序號(hào)


  Function CH375ResetAux(  // 復(fù)位輔助數(shù)據(jù)寫操作
	iIndex:cardinal ):longbool;Stdcall; external 'CH375DLL.DLL';  // 指定CH375設(shè)備序號(hào)


  Function CH375ResetRead(  // 復(fù)位數(shù)據(jù)塊讀操作
        iIndex:cardinal ):longbool;Stdcall; external 'CH375DLL.DLL';  // 指定CH375設(shè)備序號(hào)


  Function CH375ResetWrite(  // 復(fù)位數(shù)據(jù)塊寫操作
	iIndex:cardinal ):longbool;Stdcall; external 'CH375DLL.DLL';  // 指定CH375設(shè)備序號(hào)

  type
	mPCH375_NOTIFY_ROUTINE=Procedure (iEventStatus:cardinal );stdcall;  // 設(shè)備事件通知回調(diào)程序
       // 設(shè)備事件和當(dāng)前狀態(tài)(在下行定義): 0=設(shè)備拔出事件, 3=設(shè)備插入事件

  const	CH375_DEVICE_ARRIVAL=	3;		// 設(shè)備插入事件,已經(jīng)插入
	CH375_DEVICE_REMOVE_PEND=1;		// 設(shè)備將要拔出
        CH375_DEVICE_REMOVE=0;		// 設(shè)備拔出事件,已經(jīng)拔出


  Function CH375SetDeviceNotify(  // 設(shè)定設(shè)備事件通知程序
	iIndex:cardinal;  // 指定CH375設(shè)備序號(hào),0對(duì)應(yīng)第一個(gè)設(shè)備
	iDeviceID:PCHAR;  // 可選參數(shù),指向字符串,指定被監(jiān)控的設(shè)備的ID,字符串以\0終止
	iNotifyRoutine:mPCH375_NOTIFY_ROUTINE ):longbool;Stdcall; external 'CH375DLL.DLL';  // 指定設(shè)備事件回調(diào)程序,為NULL則取消事件通知,否則在檢測(cè)到事件時(shí)調(diào)用該程序

implementation

end.

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美a| 精品久久久久一区二区国产| 久久精品国产精品青草| 亚洲欧洲另类国产综合| 欧美一级精品在线| 一本到不卡免费一区二区| 黄网站免费久久| 一区二区不卡在线播放| 久久久久9999亚洲精品| 在线电影院国产精品| 懂色av一区二区三区蜜臀| 五月天一区二区| 亚洲丝袜美腿综合| 国产午夜亚洲精品午夜鲁丝片| 777欧美精品| 在线观看日韩电影| 成人91在线观看| 国产精品一区在线| 日本成人在线视频网站| 一区二区不卡在线播放| 国产精品女同互慰在线看| 久久综合狠狠综合久久激情| 欧美乱妇15p| 欧美在线free| 91美女视频网站| 东方欧美亚洲色图在线| 精品综合免费视频观看| 日本视频中文字幕一区二区三区 | 国产蜜臀97一区二区三区| 欧美一二三区在线| 337p亚洲精品色噜噜| 欧洲国内综合视频| 在线观看91视频| 一本久久综合亚洲鲁鲁五月天| 成人丝袜高跟foot| 国产91露脸合集magnet| 国产91精品在线观看| 国产黄人亚洲片| 国产精品18久久久久久久久久久久| 老汉av免费一区二区三区| 日本人妖一区二区| 人人精品人人爱| 人人狠狠综合久久亚洲| 日本vs亚洲vs韩国一区三区二区| 亚洲成年人影院| 免费成人美女在线观看| 麻豆精品新av中文字幕| 麻豆精品视频在线观看视频| 精品一区二区三区免费| 精品综合免费视频观看| 国产成人综合自拍| www..com久久爱| 色先锋aa成人| 欧美日韩国产综合一区二区三区| 欧美日韩成人一区二区| 欧美精品国产精品| 欧美福利视频一区| 欧美变态tickle挠乳网站| 久久综合色婷婷| 国产精品久久久久一区| 亚洲另类春色国产| 午夜精品123| 麻豆成人免费电影| 国产福利一区二区三区| 91亚洲国产成人精品一区二三| 在线视频亚洲一区| 欧美一区二区三区播放老司机| 精品日韩一区二区三区| 国产亚洲欧美激情| 亚洲免费视频中文字幕| 亚洲成人综合视频| 国内精品久久久久影院薰衣草| 丁香六月久久综合狠狠色| 色婷婷激情一区二区三区| 9191成人精品久久| 久久天天做天天爱综合色| 18成人在线视频| 免费精品视频在线| 成人va在线观看| 6080亚洲精品一区二区| 久久精品亚洲国产奇米99| 亚洲日本在线视频观看| 免费精品视频在线| 91麻豆国产精品久久| 欧美一级黄色片| 亚洲视频香蕉人妖| 麻豆精品新av中文字幕| 色伊人久久综合中文字幕| 91精品久久久久久久91蜜桃| 国产欧美精品一区aⅴ影院| 亚洲第四色夜色| 成人av免费在线播放| 91精品国产高清一区二区三区 | 欧美日产在线观看| 国产欧美综合在线| 日欧美一区二区| 懂色av一区二区三区免费看| 在线播放日韩导航| 中文字幕在线一区免费| 免费成人结看片| 欧美在线免费播放| 欧美激情一区二区三区四区| 日韩电影免费一区| 在线观看av不卡| 国产精品久久99| 久久丁香综合五月国产三级网站| 日本精品一区二区三区四区的功能| 日韩免费看的电影| 亚洲色图.com| 狠狠色狠狠色综合| 欧美丰满嫩嫩电影| 亚洲欧美日韩国产成人精品影院| 国产一区二区在线观看视频| 欧美精品777| 亚洲精品国产视频| jiyouzz国产精品久久| 精品国产区一区| 日韩不卡一二三区| 欧美三级日本三级少妇99| 亚洲欧洲一区二区在线播放| 激情综合网天天干| 91精品国产一区二区| 亚洲va欧美va国产va天堂影院| 9i在线看片成人免费| 国产日韩欧美制服另类| 久久成人av少妇免费| 91精品国产一区二区三区蜜臀| 亚洲一区二区在线免费观看视频| av激情综合网| 一区二区中文字幕在线| 99久久久免费精品国产一区二区| 国产欧美一区二区精品忘忧草| 久久成人精品无人区| 日韩片之四级片| 日本不卡123| 日韩欧美第一区| 蜜桃精品视频在线| 日韩一级在线观看| 开心九九激情九九欧美日韩精美视频电影| 欧美性一区二区| 亚洲成人黄色影院| 欧美一区二区视频在线观看2020| 日韩影院免费视频| 精品少妇一区二区三区在线播放| 日本人妖一区二区| 精品免费国产二区三区| 国内精品自线一区二区三区视频| 久久婷婷久久一区二区三区| 国产剧情在线观看一区二区| 国产精品入口麻豆九色| 99久久伊人精品| 亚洲国产成人av网| 91精品福利在线一区二区三区| 日韩国产精品久久| 日韩精品一区二区三区视频在线观看| 精品一区二区成人精品| 久久久久久久久久久久久女国产乱| 国产毛片一区二区| 17c精品麻豆一区二区免费| 色av综合在线| 日韩av成人高清| 久久尤物电影视频在线观看| 国产黄色成人av| 亚洲欧美另类综合偷拍| 欧美日韩中字一区| 精品亚洲成av人在线观看| 欧美国产日韩a欧美在线观看| 99精品视频一区| 日韩成人午夜精品| 久久久久国色av免费看影院| 91论坛在线播放| 日韩av电影免费观看高清完整版在线观看 | 一片黄亚洲嫩模| 91精品国产综合久久久久久久| 激情成人午夜视频| 国产精品久久久久精k8| 欧美日韩中文字幕一区| 韩日av一区二区| 亚洲免费大片在线观看| 欧美一级日韩一级| www.欧美色图| 久久精品国产99久久6| 国产调教视频一区| 6080午夜不卡| 99久久精品国产麻豆演员表| 青青草国产成人99久久| 国产精品初高中害羞小美女文| 欧美精品乱码久久久久久| 成人黄色免费短视频| 蜜臀精品一区二区三区在线观看| 中文字幕在线视频一区| 欧美成人一区二区三区在线观看 | 日本道在线观看一区二区| 激情都市一区二区| 香蕉久久一区二区不卡无毒影院| 久久久亚洲欧洲日产国码αv| 欧美午夜精品电影| jlzzjlzz欧美大全| 黄色日韩三级电影| 午夜亚洲国产au精品一区二区|