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

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

?? usbtcdpdiusbd12initexit.c

?? This the compressed USB driver source code for vxworks5.6. It has device controller driver and other
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* usbTcdPdiusbd12InitExit.c - Initialization/uninitialization for PDIUSBD12 TCD *//* Copyright 2004 Wind River Systems, Inc. *//*Modification history--------------------01e,17sep04,ami  WindView Instrumentation Changes01d,02aug04,mta  Modification History Changes01c,19jul04,ami  Coding Convention Changes01b,04may04,pdg  Fix for warm reboot01a,15mar04,mta First.*//*DESCRIPTIONThis file implements the initialization and uninitialization modules of TCD(Target Controller Driver) for the Philips PDIUSBD12.This module exports a single entry point, usbTcdPdiusbd12EvalExec().  This isthe USB_TCD_EXEC_FUNC for this TCD.  The caller passes requests to the TCD byconstructing TRBs, or Target Request Blocks, and passing them to this entrypoint.TCDs are initialized by invoking the TCD_FNC_ATTACH function.  In response tothis function, the TCD returns information about the target controller,including its USB speed, the number of endpoints it supports etc.INCLUDE FILES: usb/usbPlatform.h, usb/ossLib.h, usb/target/usbIsaLib.h,               drv/usb/target/usbPdiusbd12Eval.h,                drv/usb/target/usbTcdPdiusbd12EvalLib.h,               drv/usb/target/usbPdiusbd12Tcd.h,                drv/usb/target/usbPdiusbd12Debug.h,               usb/target/usbPeriphInstr.h*//* includes */#include "usb/usbPlatform.h"	               #include "usb/ossLib.h" 		     #include "usb/target/usbIsaLib.h"	      #include "drv/usb/target/usbPdiusbd12Eval.h"	#include "drv/usb/target/usbTcdPdiusbd12EvalLib.h"  #include "drv/usb/target/usbPdiusbd12Tcd.h"     #include "drv/usb/target/usbPdiusbd12Debug.h" #include "usb/target/usbPeriphInstr.h"     /* include the .c files */#include "usbTcdPdiusbd12Util.c"            #include "usbTcdPdiusbd12DeviceControl.c"   #include "usbTcdPdiusbd12Interrupt.c"       #include "usbTcdPdiusbd12Endpoint.c"        #include "rebootLib.h" /* globals */UINT32	usbPdiusbd12Debug = 0;	/* Debug flag for usbPdiusbd12 *//* forward declaration */LOCAL VOID destroyTarget (pUSB_TCD_PDIUSBD12_TARGET pTarget);LOCAL VOID usbTcdPdiusbd12Isr (pVOID param);LOCAL STATUS usbTcdPdiusbd12FncAttach ( pTRB_ATTACH pTrb);LOCAL STATUS usbTcdPdiusbd12FncDetach (pTRB_DETACH pTrb);LOCAL STATUS usbTcdPdiusbd12FncEnable (pTRB_ENABLE_DISABLE pTrb);LOCAL STATUS usbTcdPdiusbd12FncDisable (pTRB_ENABLE_DISABLE pTrb);/* functions *//******************************************************************************** usbTcdPdiusbd12EvalExec - single entry point for PDIUSBD12 TCD** This is the single entry point for the Philips PDIUSBD12 (ISA eval version)* USB TCD (Target Controller Driver).  The function qualifies the TRB passed* by the caller and fans out to the appropriate TCD function handler.** RETURNS: OK or ERROR if failed to execute TRB passed by caller.** ERRNO:*   none.*/STATUS usbTcdPdiusbd12EvalExec    (    pVOID	pTrb		/* TRB to be executed */    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */    pUSB_TCD_PDIUSBD12_TARGET	pTarget = NULL;	/* USB_TCD_PDIUSBD12_TARGET */    UINT32	status = OK;    /* WindView Instrumentation */    USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,    "usbTcdPdiusbd12EvalExec entered ...", USB_TCD_PDIUSBD12_WV_FILTER);       USBPDIUSBD12_DEBUG ( "usbTcdPdiusbd12EvalExec: Entering...\n",0,0,0,0,0,0 );    /* Validate parameters */    if (pHeader == NULL || pHeader->trbLength < sizeof (TRB_HEADER))        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,        "usbTcdPdiusbd12EvalExec exiting: Bad Parameters Received...",        USB_TCD_PDIUSBD12_WV_FILTER);           USBPDIUSBD12_ERROR ( " usbTcdPdiusbd12EvalExec : Invalid parameters \        ...\n",0,0,0,0,0,0 );        return ERROR;        }    if (pHeader->function != TCD_FNC_ATTACH)	{	if ((pTarget = (pUSB_TCD_PDIUSBD12_TARGET) pHeader->handle) == NULL)	    {            /* WindView Instrumentation */              USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,            "usbTcdPdiusbd12EvalExec exiting: Bad Parameters Received...",            USB_TCD_PDIUSBD12_WV_FILTER);               USBPDIUSBD12_ERROR ("usbTcdPdiusbd12EvalExec: Invalid parameters \            ... \n", 0,0,0,0,0,0);           return ERROR;	    }        }    /* Fan-out to appropriate function processor */    switch (pHeader->function)        {        /* initialization and uninitialization function codes */        case TCD_FNC_ATTACH:	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncAttach \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncAttach((pTRB_ATTACH) pHeader);	     break;        case TCD_FNC_DETACH:	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncDetach \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncDetach((pTRB_DETACH) pHeader);             break;        case TCD_FNC_ENABLE:	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncEnable \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncEnable((pTRB_ENABLE_DISABLE) pHeader);             break;        case TCD_FNC_DISABLE:	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncDisable \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncDisable((pTRB_ENABLE_DISABLE) pHeader);             break;        /* device control and status function codes */        case TCD_FNC_ADDRESS_SET:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncAddressSet \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncAddressSet((pTRB_ADDRESS_SET) pHeader);             break;        case TCD_FNC_SIGNAL_RESUME:	    	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncSignalResume \n", 0,0,0,0,0,0 );	     status=usbTcdPdiusbd12FncSignalResume((pTRB_SIGNAL_RESUME)pHeader);             break;        case TCD_FNC_CURRENT_FRAME_GET:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncCurrentFrameGet \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncCurrentFrameGet                                              ((pTRB_CURRENT_FRAME_GET)pHeader);             break;        /* endpoint related function codes */        case TCD_FNC_ENDPOINT_ASSIGN:	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncEndpointAssign \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncEndpointAssign(                     (pTRB_ENDPOINT_ASSIGN) pHeader);             break;        case TCD_FNC_ENDPOINT_RELEASE:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncEndpointRelease \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncEndpointRelease(                     (pTRB_ENDPOINT_RELEASE) pHeader);             break;        case TCD_FNC_ENDPOINT_STATE_SET:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncEndpointStateSet \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncEndpointStateSet                                            ((pTRB_ENDPOINT_STATE_SET)pHeader);             break;        case TCD_FNC_ENDPOINT_STATUS_GET:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncStateGet \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncEndpointStatusGet                                            ((pTRB_ENDPOINT_STATUS_GET)pHeader);             break;        case TCD_FNC_IS_BUFFER_EMPTY:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncIsBufferEmpty \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncIsBufferEmpty                      ((pTRB_IS_BUFFER_EMPTY) pHeader);             break;        case TCD_FNC_COPY_DATA_FROM_EPBUF:	     USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncCopyDataFromEpbuf \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncCopyDataFromEpBuf(                      (pTRB_COPY_DATA_FROM_EPBUF) pHeader);	     break;        case TCD_FNC_COPY_DATA_TO_EPBUF:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncCopyDataToBuf \n", 0,0,0,0,0,0 );             status = usbTcdPdiusbd12FncCopyDataToEpBuf(                      (pTRB_COPY_DATA_TO_EPBUF) pHeader);             break;        /* interrupt related function codes */        case TCD_FNC_ENDPOINT_INTERRUPT_STATUS_GET:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncEndpointIntStatusGet \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncEndpointIntStatusGet(                     (pTRB_ENDPOINT_INTERRUPT_STATUS_GET) pHeader);             break;        case TCD_FNC_ENDPOINT_INTERRUPT_STATUS_CLEAR:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncIntStatusClear \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncEndpointIntStatusClear(                      (pTRB_ENDPOINT_INTERRUPT_STATUS_CLEAR) pHeader);             break;        case TCD_FNC_INTERRUPT_STATUS_GET:             USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12EvalExec : Entering \             usbTcdPdiusbd12FncGetInterruptStatus \n", 0,0,0,0,0,0 );	     status = usbTcdPdiusbd12FncInterruptStatusGet(                      (pTRB_INTERRUPT_STATUS_GET_CLEAR) pHeader);             break;        /* Following functions codes are not implemented by PDIUSB12 */        case TCD_FNC_HANDLE_RESET_INTERRUPT      :        case TCD_FNC_HANDLE_RESUME_INTERRUPT     :        case TCD_FNC_HANDLE_SUSPEND_INTERRUPT    :        case TCD_FNC_HANDLE_DISCONNECT_INTERRUPT :        case TCD_FNC_INTERRUPT_STATUS_CLEAR      :        case TCD_FNC_DEVICE_FEATURE_SET          :	case TCD_FNC_DEVICE_FEATURE_CLEAR        : break;        default:            /* WindView Instrumentation */              USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,            "usbTcdPdiusbd12EvalExec: Wrong Function Codes...",            USB_TCD_PDIUSBD12_WV_FILTER);               USBPDIUSBD12_ERROR ( " usbTcdPdiusbd12EvalExec : Functions \            codes do not match...\n",0,0,0,0,0,0 );            status = ERROR;	    break;	}    /* WindView Instrumentation */    USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,    "usbTcdPdiusbd12EvalExec exiting ...", USB_TCD_PDIUSBD12_WV_FILTER);       USBPDIUSBD12_DEBUG ( "usbTcdPdiusbd12EvalExec: Exiting...\n",0,0,0,0,0,0 );    /* Return status */    return status;    }/********************************************************************************* usbTcdPdiusbd12Exit - function to be called on a reboot** This function clears the Soft-Connect bit on a reboot.** RETURNS: N/A** ERRNO:*   none.** \NOMANUAL*/LOCAL VOID usbTcdPdiusbd12Exit    (    int	startType    )    {    /* Disable the target controller */    USB_ISA_BYTE_OUT ((volatile UINT32)                    (D12EVAL_DEFAULT_IOBASE + D12EVAL_D12REG + D12_CMD_REG),                    D12_CMD_SET_MODE);    USB_ISA_BYTE_OUT ((volatile UINT32)                    (D12EVAL_DEFAULT_IOBASE + D12EVAL_D12REG + D12_DATA_REG),                     0);    USB_ISA_BYTE_OUT ((volatile UINT32)                    (D12EVAL_DEFAULT_IOBASE + D12EVAL_D12REG + D12_DATA_REG),                     0);        }/******************************************************************************** usbTcdPdiusbd12FncAttach - function implementing function code TCD_FNC_ATTACH** The purpose of this function is to initialize the Target Controller* for Operation** RETURNS: OK or ERROR if failed to initialize the Target Controller.** ERRNO:*   none.** \NOMANUAL*/LOCAL STATUS usbTcdPdiusbd12FncAttach    (    pTRB_ATTACH	pTrb			/* TRB to be executed */    )    {    pTRB_HEADER	pHeader = (pTRB_HEADER) pTrb;	/* TRB_HEADER */    pUSB_TCD_PDIUSBD12_TARGET	pTarget = NULL;	/* USB_TCD_PDIUSBD12_TARGET */    pUSB_TCD_PDIUSBD12_PARAMS	pParams = NULL; /* USB_TCD_PDIUSBD12_PARAMS */    UINT8	byte = 0 ;    UINT8	i=0;    /* WindView Instrumentation */    USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,    "usbTcdPdiusbd12FncAttach entered ...", USB_TCD_PDIUSBD12_WV_FILTER);       USBPDIUSBD12_DEBUG ( "usbTcdPdiusbd12FncAttach : Entered ...",                          0,0,0,0,0,0);    /* Validate parameters */    if (pHeader == NULL || pHeader->trbLength < sizeof (TRB_HEADER))        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,        "usbTcdPdiusbd12FncAttach exiting: Bad Paramters Received...",        USB_TCD_PDIUSBD12_WV_FILTER);           USBPDIUSBD12_ERROR ("usbTcdPdiusbd12FncAttach : Invalid Parameters...",                             0,0,0,0,0,0 );        return ERROR;        }    if ( (pTrb->tcdParam == NULL ) || (pTrb->usbHalIsr == NULL ) ||         (pTrb->pHalDeviceInfo == NULL) || (pTrb->pDeviceInfo == NULL)  )        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,        "usbTcdPdiusbd12FncAttach exiting: Bad Paramters Received...",        USB_TCD_PDIUSBD12_WV_FILTER);           USBPDIUSBD12_ERROR ( "usbTcdPdiusbd12FncAttach :Invalid Parameters...",                              0,0,0,0,0,0 );        return ERROR;        }    pParams = (pUSB_TCD_PDIUSBD12_PARAMS)pTrb->tcdParam;    /* Create a USB_TCD_PDIUSBD12_TARGET structure to manage controller. */    if ((pTarget = OSS_CALLOC (sizeof (*pTarget))) == NULL )        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,        "usbTcdPdiusbd12FncAttach exiting: Fail to allocate memory...",        USB_TCD_PDIUSBD12_WV_FILTER);           USBPDIUSBD12_ERROR ( " usbTcdPdiusbd12FncAttach : Could not allocate \        memory ",0,0,0,0,0,0 );        return ERROR;        }    /* Store the user supplied parameters */    pTarget->ioBase = pParams->ioBase;    pTarget->irq = pParams->irq;    pTarget->dma = pParams->dma;    /* Read the Chip ID and confirm that its PDIUSBD12 */    if ((d12ReadChipId (pTarget) & D12_CHIP_ID_MASK) != D12_CHIP_ID)        {        /* WindView Instrumentation */        USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,        "usbTcdPdiusbd12FncAttach exiting: Wrong Chip Id...",        USB_TCD_PDIUSBD12_WV_FILTER);           USBPDIUSBD12_DEBUG ( " usbTcdPdiusbd12FncAttach: Chips Id \        do not match ", 0,0,0,0,0,0);        destroyTarget (pTarget);        return ERROR;        }    /* disable address decoding */    OUT_EVAL_GOUT (pTarget,0);		/* turn OFF LEDs & interrupts */    /* Hook the function which needs to be called on a reboot */    if(ERROR == rebootHookAdd((FUNCPTR)usbTcdPdiusbd12Exit))       {       /* WindView Instrumentation */       USB_TCD_LOG_EVENT(USB_TCD_PDIUSBD12_INIT_EXIT,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
播五月开心婷婷综合| 精品国产sm最大网站免费看 | 日本韩国欧美在线| 2021国产精品久久精品| 午夜成人免费电影| 欧美成人在线直播| 午夜一区二区三区在线观看| 国产精品一区二区视频| 久久久一区二区| 懂色av中文字幕一区二区三区| 精品日韩成人av| 91热门视频在线观看| 日韩精品成人一区二区三区| 久热成人在线视频| 91久久免费观看| 夜夜操天天操亚洲| 欧洲人成人精品| 亚洲高清视频在线| 2020国产精品| 欧洲av一区二区嗯嗯嗯啊| 亚洲成a天堂v人片| 欧美日韩国产bt| 亚洲狠狠丁香婷婷综合久久久| 丁香桃色午夜亚洲一区二区三区| 日韩片之四级片| 亚洲一卡二卡三卡四卡五卡| 精品国产一区二区三区忘忧草| 一区二区欧美国产| 国产欧美一区二区精品久导航| 97se亚洲国产综合在线| 六月丁香婷婷久久| 亚洲蜜臀av乱码久久精品| 亚洲免费观看高清完整版在线观看 | 色欧美日韩亚洲| 久久狠狠亚洲综合| 久久成人综合网| 日本v片在线高清不卡在线观看| 奇米888四色在线精品| 欧美影院一区二区| 午夜久久久久久久久久一区二区| 国产精品系列在线播放| 精品精品国产高清a毛片牛牛| 日韩激情视频在线观看| 日韩亚洲欧美成人一区| 日韩电影在线免费| 在线不卡的av| 免费精品视频最新在线| 欧美成人一区二区三区在线观看| 激情综合五月天| 久久网站最新地址| 不卡的av中国片| 亚洲免费资源在线播放| 在线观看91av| 久久99精品视频| 国产欧美一区视频| 91在线云播放| 石原莉奈在线亚洲二区| 91精品国产综合久久精品| 久久精品国产一区二区| 久久精品夜夜夜夜久久| 成人av在线一区二区| 一区二区欧美在线观看| 欧美一区二区三区四区五区| 韩国一区二区在线观看| 国产精品无人区| 欧美影视一区二区三区| 美国av一区二区| 中文字幕第一区第二区| 欧美亚洲动漫另类| 青青草91视频| 国产精品久久久久久久浪潮网站| 99国产精品久久久久久久久久| 亚洲高清免费视频| 精品久久久久一区| av激情综合网| 麻豆精品一区二区综合av| 中文字幕一区二区三区四区| 欧美人与性动xxxx| 粉嫩一区二区三区在线看| 亚洲国产一区视频| 久久久久久久久久久久久久久99| 日本韩国精品一区二区在线观看| 免费在线欧美视频| 中文字幕高清不卡| 日韩三级电影网址| 91国偷自产一区二区三区成为亚洲经典 | 91亚洲国产成人精品一区二区三| 午夜精品久久久久久久蜜桃app| 国产校园另类小说区| 欧美日韩国产精选| 成人黄色电影在线| 国内成人免费视频| 亚洲v日本v欧美v久久精品| 国产日韩精品一区二区三区| 欧美猛男gaygay网站| 成人免费电影视频| 久久99精品国产.久久久久久| 亚洲一区二区三区四区五区中文| 久久久国产精品不卡| 日韩精品一区二区三区四区 | 狠狠色丁香九九婷婷综合五月 | 久久你懂得1024| 91精品国产免费久久综合| 色狠狠桃花综合| 不卡的av中国片| 国产一区二区三区电影在线观看| 偷偷要91色婷婷| 亚洲免费电影在线| 亚洲欧洲色图综合| 国产精品家庭影院| 国产亚洲欧美激情| 国产三级一区二区三区| 精品久久久久久无| 欧美xfplay| 欧美不卡激情三级在线观看| 日韩一卡二卡三卡国产欧美| 欧美一区二区在线视频| 在线成人免费视频| 91精品国产综合久久久久久久| 欧美日韩国产区一| 在线91免费看| 欧美日韩精品欧美日韩精品一| 在线视频国内一区二区| 欧美性猛片aaaaaaa做受| 欧美在线综合视频| 欧美精品一二三四| 在线综合视频播放| 91精品国产综合久久精品麻豆| 91精品国产综合久久久久久漫画 | 国产乱码一区二区三区| 久久99国产精品免费网站| 精品在线播放午夜| 国产精品白丝av| 成人中文字幕在线| 色婷婷精品大在线视频| 欧美色涩在线第一页| 欧美一区二区三区公司| 欧美tickling网站挠脚心| 久久久久久久久久久99999| 国产三级一区二区| 一区二区三区欧美| 免费高清视频精品| 国产福利精品导航| 91尤物视频在线观看| 欧美日本一区二区三区四区| 日韩欧美电影一区| 国产喂奶挤奶一区二区三区| 亚洲精品伦理在线| 日韩国产高清在线| 国产激情偷乱视频一区二区三区| 成人免费视频播放| 欧美日韩一区高清| 久久久久久久电影| 亚洲精品成人悠悠色影视| 日韩av高清在线观看| 国产98色在线|日韩| 色狠狠一区二区| 久久综合久久综合九色| 樱花草国产18久久久久| 久久www免费人成看片高清| 99久久免费精品| 欧美一区2区视频在线观看| 国产精品婷婷午夜在线观看| 天天综合日日夜夜精品| 国产99久久久国产精品潘金| 在线观看区一区二| 国产清纯白嫩初高生在线观看91| 亚洲妇女屁股眼交7| 国产寡妇亲子伦一区二区| 欧美日韩国产乱码电影| 国产精品国产精品国产专区不蜜| 日韩经典中文字幕一区| 99国产精品久久久| 久久精品一区二区三区不卡牛牛| 亚洲国产你懂的| 国产·精品毛片| 日韩一区和二区| 亚洲综合视频在线| 成人综合婷婷国产精品久久蜜臀| 69堂亚洲精品首页| 亚洲天堂福利av| 国产麻豆成人精品| 欧美一卡2卡三卡4卡5免费| 亚洲最新视频在线观看| 成人午夜私人影院| 久久蜜桃香蕉精品一区二区三区| 香蕉影视欧美成人| 色94色欧美sute亚洲线路一久| 国产日韩成人精品| 国产呦精品一区二区三区网站| 欧美精品18+| 曰韩精品一区二区| 色94色欧美sute亚洲线路一久| 国产精品乱人伦| 国产不卡在线播放| 国产视频一区在线播放| 国产一区二区成人久久免费影院| 欧美一区二区三区在线观看视频| 亚洲成人av电影在线| 在线观看一区二区精品视频|