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

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

?? usb-hid.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * QEMU USB HID devices * * Copyright (c) 2005 Fabrice Bellard * Copyright (c) 2007 OpenMoko, Inc.  (andrew@openedhand.com) * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in * all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */#include "hw.h"#include "console.h"#include "usb.h"/* HID interface requests */#define GET_REPORT   0xa101#define GET_IDLE     0xa102#define GET_PROTOCOL 0xa103#define SET_REPORT   0x2109#define SET_IDLE     0x210a#define SET_PROTOCOL 0x210b/* HID descriptor types */#define USB_DT_HID    0x21#define USB_DT_REPORT 0x22#define USB_DT_PHY    0x23#define USB_MOUSE     1#define USB_TABLET    2#define USB_KEYBOARD  3typedef struct USBMouseState {    int dx, dy, dz, buttons_state;    int x, y;    int mouse_grabbed;    QEMUPutMouseEntry *eh_entry;} USBMouseState;typedef struct USBKeyboardState {    uint16_t modifiers;    uint8_t leds;    uint8_t key[16];    int keys;} USBKeyboardState;typedef struct USBHIDState {    USBDevice dev;    union {        USBMouseState ptr;        USBKeyboardState kbd;    };    int kind;    int protocol;    int idle;    int changed;} USBHIDState;/* mostly the same values as the Bochs USB Mouse device */static const uint8_t qemu_mouse_dev_descriptor[] = {	0x12,       /*  u8 bLength; */	0x01,       /*  u8 bDescriptorType; Device */	0x00, 0x01, /*  u16 bcdUSB; v1.0 */	0x00,	    /*  u8  bDeviceClass; */	0x00,	    /*  u8  bDeviceSubClass; */	0x00,       /*  u8  bDeviceProtocol; [ low/full speeds only ] */	0x08,       /*  u8  bMaxPacketSize0; 8 Bytes */	0x27, 0x06, /*  u16 idVendor; */ 	0x01, 0x00, /*  u16 idProduct; */	0x00, 0x00, /*  u16 bcdDevice */	0x03,       /*  u8  iManufacturer; */	0x02,       /*  u8  iProduct; */	0x01,       /*  u8  iSerialNumber; */	0x01        /*  u8  bNumConfigurations; */};static const uint8_t qemu_mouse_config_descriptor[] = {	/* one configuration */	0x09,       /*  u8  bLength; */	0x02,       /*  u8  bDescriptorType; Configuration */	0x22, 0x00, /*  u16 wTotalLength; */	0x01,       /*  u8  bNumInterfaces; (1) */	0x01,       /*  u8  bConfigurationValue; */	0x04,       /*  u8  iConfiguration; */	0xa0,       /*  u8  bmAttributes;				 Bit 7: must be set,				     6: Self-powered,				     5: Remote wakeup,				     4..0: resvd */	50,         /*  u8  MaxPower; */	/* USB 1.1:	 * USB 2.0, single TT organization (mandatory):	 *	one interface, protocol 0	 *	 * USB 2.0, multiple TT organization (optional):	 *	two interfaces, protocols 1 (like single TT)	 *	and 2 (multiple TT mode) ... config is	 *	sometimes settable	 *	NOT IMPLEMENTED	 */	/* one interface */	0x09,       /*  u8  if_bLength; */	0x04,       /*  u8  if_bDescriptorType; Interface */	0x00,       /*  u8  if_bInterfaceNumber; */	0x00,       /*  u8  if_bAlternateSetting; */	0x01,       /*  u8  if_bNumEndpoints; */	0x03,       /*  u8  if_bInterfaceClass; */	0x01,       /*  u8  if_bInterfaceSubClass; */	0x02,       /*  u8  if_bInterfaceProtocol; [usb1.1 or single tt] */	0x07,       /*  u8  if_iInterface; */        /* HID descriptor */        0x09,        /*  u8  bLength; */        0x21,        /*  u8 bDescriptorType; */        0x01, 0x00,  /*  u16 HID_class */        0x00,        /*  u8 country_code */        0x01,        /*  u8 num_descriptors */        0x22,        /*  u8 type; Report */        50, 0,       /*  u16 len */	/* one endpoint (status change endpoint) */	0x07,       /*  u8  ep_bLength; */	0x05,       /*  u8  ep_bDescriptorType; Endpoint */	0x81,       /*  u8  ep_bEndpointAddress; IN Endpoint 1 */ 	0x03,       /*  u8  ep_bmAttributes; Interrupt */ 	0x03, 0x00, /*  u16 ep_wMaxPacketSize; */	0x0a,       /*  u8  ep_bInterval; (255ms -- usb 2.0 spec) */};static const uint8_t qemu_tablet_config_descriptor[] = {	/* one configuration */	0x09,       /*  u8  bLength; */	0x02,       /*  u8  bDescriptorType; Configuration */	0x22, 0x00, /*  u16 wTotalLength; */	0x01,       /*  u8  bNumInterfaces; (1) */	0x01,       /*  u8  bConfigurationValue; */	0x05,       /*  u8  iConfiguration; */	0xa0,       /*  u8  bmAttributes;				 Bit 7: must be set,				     6: Self-powered,				     5: Remote wakeup,				     4..0: resvd */	50,         /*  u8  MaxPower; */	/* USB 1.1:	 * USB 2.0, single TT organization (mandatory):	 *	one interface, protocol 0	 *	 * USB 2.0, multiple TT organization (optional):	 *	two interfaces, protocols 1 (like single TT)	 *	and 2 (multiple TT mode) ... config is	 *	sometimes settable	 *	NOT IMPLEMENTED	 */	/* one interface */	0x09,       /*  u8  if_bLength; */	0x04,       /*  u8  if_bDescriptorType; Interface */	0x00,       /*  u8  if_bInterfaceNumber; */	0x00,       /*  u8  if_bAlternateSetting; */	0x01,       /*  u8  if_bNumEndpoints; */	0x03,       /*  u8  if_bInterfaceClass; */	0x01,       /*  u8  if_bInterfaceSubClass; */	0x02,       /*  u8  if_bInterfaceProtocol; [usb1.1 or single tt] */	0x07,       /*  u8  if_iInterface; */        /* HID descriptor */        0x09,        /*  u8  bLength; */        0x21,        /*  u8 bDescriptorType; */        0x01, 0x00,  /*  u16 HID_class */        0x00,        /*  u8 country_code */        0x01,        /*  u8 num_descriptors */        0x22,        /*  u8 type; Report */        74, 0,       /*  u16 len */	/* one endpoint (status change endpoint) */	0x07,       /*  u8  ep_bLength; */	0x05,       /*  u8  ep_bDescriptorType; Endpoint */	0x81,       /*  u8  ep_bEndpointAddress; IN Endpoint 1 */ 	0x03,       /*  u8  ep_bmAttributes; Interrupt */ 	0x08, 0x00, /*  u16 ep_wMaxPacketSize; */	0x0a,       /*  u8  ep_bInterval; (255ms -- usb 2.0 spec) */};static const uint8_t qemu_keyboard_config_descriptor[] = {    /* one configuration */    0x09,		/*  u8  bLength; */    USB_DT_CONFIG,	/*  u8  bDescriptorType; Configuration */    0x22, 0x00,		/*  u16 wTotalLength; */    0x01,		/*  u8  bNumInterfaces; (1) */    0x01,		/*  u8  bConfigurationValue; */    0x06,		/*  u8  iConfiguration; */    0xa0,		/*  u8  bmAttributes;				Bit 7: must be set,				    6: Self-powered,				    5: Remote wakeup,				    4..0: resvd */    0x32,		/*  u8  MaxPower; */    /* USB 1.1:     * USB 2.0, single TT organization (mandatory):     *	one interface, protocol 0     *     * USB 2.0, multiple TT organization (optional):     *	two interfaces, protocols 1 (like single TT)     *	and 2 (multiple TT mode) ... config is     *	sometimes settable     *	NOT IMPLEMENTED     */    /* one interface */    0x09,		/*  u8  if_bLength; */    USB_DT_INTERFACE,	/*  u8  if_bDescriptorType; Interface */    0x00,		/*  u8  if_bInterfaceNumber; */    0x00,		/*  u8  if_bAlternateSetting; */    0x01,		/*  u8  if_bNumEndpoints; */    0x03,		/*  u8  if_bInterfaceClass; HID */    0x01,		/*  u8  if_bInterfaceSubClass; Boot */    0x01,		/*  u8  if_bInterfaceProtocol; Keyboard */    0x07,		/*  u8  if_iInterface; */    /* HID descriptor */    0x09,		/*  u8  bLength; */    USB_DT_HID,		/*  u8  bDescriptorType; */    0x11, 0x01,		/*  u16 HID_class */    0x00,		/*  u8  country_code */    0x01,		/*  u8  num_descriptors */    USB_DT_REPORT,	/*  u8  type; Report */    0x3f, 0x00,		/*  u16 len */    /* one endpoint (status change endpoint) */    0x07,		/*  u8  ep_bLength; */    USB_DT_ENDPOINT,	/*  u8  ep_bDescriptorType; Endpoint */    USB_DIR_IN | 0x01,	/*  u8  ep_bEndpointAddress; IN Endpoint 1 */    0x03,		/*  u8  ep_bmAttributes; Interrupt */    0x08, 0x00,		/*  u16 ep_wMaxPacketSize; */    0x0a,		/*  u8  ep_bInterval; (255ms -- usb 2.0 spec) */};static const uint8_t qemu_mouse_hid_report_descriptor[] = {    0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01,    0xA1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03,    0x15, 0x00, 0x25, 0x01, 0x95, 0x03, 0x75, 0x01,    0x81, 0x02, 0x95, 0x01, 0x75, 0x05, 0x81, 0x01,    0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81,    0x25, 0x7F, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06,    0xC0, 0xC0,};static const uint8_t qemu_tablet_hid_report_descriptor[] = {        0x05, 0x01, /* Usage Page Generic Desktop */        0x09, 0x01, /* Usage Mouse */        0xA1, 0x01, /* Collection Application */        0x09, 0x01, /* Usage Pointer */        0xA1, 0x00, /* Collection Physical */        0x05, 0x09, /* Usage Page Button */        0x19, 0x01, /* Usage Minimum Button 1 */        0x29, 0x03, /* Usage Maximum Button 3 */        0x15, 0x00, /* Logical Minimum 0 */        0x25, 0x01, /* Logical Maximum 1 */        0x95, 0x03, /* Report Count 3 */        0x75, 0x01, /* Report Size 1 */        0x81, 0x02, /* Input (Data, Var, Abs) */        0x95, 0x01, /* Report Count 1 */        0x75, 0x05, /* Report Size 5 */        0x81, 0x01, /* Input (Cnst, Var, Abs) */        0x05, 0x01, /* Usage Page Generic Desktop */        0x09, 0x30, /* Usage X */        0x09, 0x31, /* Usage Y */        0x15, 0x00, /* Logical Minimum 0 */        0x26, 0xFF, 0x7F, /* Logical Maximum 0x7fff */        0x35, 0x00, /* Physical Minimum 0 */        0x46, 0xFE, 0x7F, /* Physical Maximum 0x7fff */        0x75, 0x10, /* Report Size 16 */        0x95, 0x02, /* Report Count 2 */        0x81, 0x02, /* Input (Data, Var, Abs) */        0x05, 0x01, /* Usage Page Generic Desktop */        0x09, 0x38, /* Usage Wheel */        0x15, 0x81, /* Logical Minimum -127 */        0x25, 0x7F, /* Logical Maximum 127 */        0x35, 0x00, /* Physical Minimum 0 (same as logical) */        0x45, 0x00, /* Physical Maximum 0 (same as logical) */        0x75, 0x08, /* Report Size 8 */        0x95, 0x01, /* Report Count 1 */        0x81, 0x02, /* Input (Data, Var, Rel) */        0xC0,       /* End Collection */        0xC0,       /* End Collection */};static const uint8_t qemu_keyboard_hid_report_descriptor[] = {    0x05, 0x01,		/* Usage Page (Generic Desktop) */    0x09, 0x06,		/* Usage (Keyboard) */    0xa1, 0x01,		/* Collection (Application) */    0x75, 0x01,		/*   Report Size (1) */    0x95, 0x08,		/*   Report Count (8) */    0x05, 0x07,		/*   Usage Page (Key Codes) */    0x19, 0xe0,		/*   Usage Minimum (224) */    0x29, 0xe7,		/*   Usage Maximum (231) */    0x15, 0x00,		/*   Logical Minimum (0) */    0x25, 0x01,		/*   Logical Maximum (1) */    0x81, 0x02,		/*   Input (Data, Variable, Absolute) */    0x95, 0x01,		/*   Report Count (1) */    0x75, 0x08,		/*   Report Size (8) */    0x81, 0x01,		/*   Input (Constant) */    0x95, 0x05,		/*   Report Count (5) */    0x75, 0x01,		/*   Report Size (1) */    0x05, 0x08,		/*   Usage Page (LEDs) */    0x19, 0x01,		/*   Usage Minimum (1) */    0x29, 0x05,		/*   Usage Maximum (5) */    0x91, 0x02,		/*   Output (Data, Variable, Absolute) */    0x95, 0x01,		/*   Report Count (1) */    0x75, 0x03,		/*   Report Size (3) */    0x91, 0x01,		/*   Output (Constant) */    0x95, 0x06,		/*   Report Count (6) */    0x75, 0x08,		/*   Report Size (8) */    0x15, 0x00,		/*   Logical Minimum (0) */    0x25, 0xff,		/*   Logical Maximum (255) */    0x05, 0x07,		/*   Usage Page (Key Codes) */    0x19, 0x00,		/*   Usage Minimum (0) */    0x29, 0xff,		/*   Usage Maximum (255) */    0x81, 0x00,		/*   Input (Data, Array) */    0xc0,		/* End Collection */};#define USB_HID_USAGE_ERROR_ROLLOVER	0x01#define USB_HID_USAGE_POSTFAIL		0x02#define USB_HID_USAGE_ERROR_UNDEFINED	0x03/* Indices are QEMU keycodes, values are from HID Usage Table.  Indices * above 0x80 are for keys that come after 0xe0 or 0xe1+0x1d or 0xe1+0x9d.  */static const uint8_t usb_hid_usage_keys[0x100] = {    0x00, 0x29, 0x1e, 0x1f, 0x20, 0x21, 0x22, 0x23,    0x24, 0x25, 0x26, 0x27, 0x2d, 0x2e, 0x2a, 0x2b,    0x14, 0x1a, 0x08, 0x15, 0x17, 0x1c, 0x18, 0x0c,    0x12, 0x13, 0x2f, 0x30, 0x28, 0xe0, 0x04, 0x16,    0x07, 0x09, 0x0a, 0x0b, 0x0d, 0x0e, 0x0f, 0x33,    0x34, 0x35, 0xe1, 0x31, 0x1d, 0x1b, 0x06, 0x19,    0x05, 0x11, 0x10, 0x36, 0x37, 0x38, 0xe5, 0x55,    0xe2, 0x2c, 0x32, 0x3a, 0x3b, 0x3c, 0x3d, 0x3e,    0x3f, 0x40, 0x41, 0x42, 0x43, 0x53, 0x47, 0x5f,    0x60, 0x61, 0x56, 0x5c, 0x5d, 0x5e, 0x57, 0x59,    0x5a, 0x5b, 0x62, 0x63, 0x00, 0x00, 0x00, 0x44,    0x45, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0x6d, 0x6e,    0xe8, 0xe9, 0x71, 0x72, 0x73, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x85, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0xe3, 0xe7, 0x65,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x58, 0xe4, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x54, 0x00, 0x46,    0xe6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x00, 0x4a,    0x52, 0x4b, 0x00, 0x50, 0x00, 0x4f, 0x00, 0x4d,    0x51, 0x4e, 0x49, 0x4c, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};static void usb_mouse_event(void *opaque,                            int dx1, int dy1, int dz1, int buttons_state){    USBHIDState *hs = opaque;    USBMouseState *s = &hs->ptr;    s->dx += dx1;    s->dy += dy1;    s->dz += dz1;    s->buttons_state = buttons_state;    hs->changed = 1;}static void usb_tablet_event(void *opaque,			     int x, int y, int dz, int buttons_state){    USBHIDState *hs = opaque;    USBMouseState *s = &hs->ptr;    s->x = x;    s->y = y;    s->dz += dz;    s->buttons_state = buttons_state;    hs->changed = 1;}static void usb_keyboard_event(void *opaque, int keycode){    USBHIDState *hs = opaque;    USBKeyboardState *s = &hs->kbd;    uint8_t hid_code, key;    int i;    key = keycode & 0x7f;    hid_code = usb_hid_usage_keys[key | ((s->modifiers >> 1) & (1 << 7))];    s->modifiers &= ~(1 << 8);    hs->changed = 1;    switch (hid_code) {    case 0x00:        return;    case 0xe0:        if (s->modifiers & (1 << 9)) {            s->modifiers ^= 3 << 8;            return;        }    case 0xe1 ... 0xe7:        if (keycode & (1 << 7)) {            s->modifiers &= ~(1 << (hid_code & 0x0f));            return;        }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久国产精麻豆99网站| 国产精品久久久久永久免费观看 | 亚洲女与黑人做爰| 欧美日韩电影在线播放| 国产乱码一区二区三区| 亚洲一级在线观看| 国产精品久久久99| 久久久高清一区二区三区| 欧美精品一卡两卡| 91丝袜国产在线播放| 国产精品系列在线观看| 免费看日韩精品| 亚洲综合色婷婷| 国产精品三级电影| 久久久久久免费网| 日韩欧美国产综合| 欧美猛男男办公室激情| 一本久道中文字幕精品亚洲嫩| 国产精品乡下勾搭老头1| 日韩vs国产vs欧美| 香蕉久久一区二区不卡无毒影院| 亚洲欧洲国产专区| 国产欧美日韩麻豆91| 久久综合九色综合欧美98| 欧美高清dvd| 欧美三级韩国三级日本三斤| 色综合天天综合网天天看片| 成人激情电影免费在线观看| 国产精品一二三在| 狠狠网亚洲精品| 日本成人在线看| 日本aⅴ亚洲精品中文乱码| 午夜精品福利一区二区三区蜜桃| 一区二区三区91| 有码一区二区三区| 夜夜爽夜夜爽精品视频| 亚洲三级在线看| 亚洲伦理在线精品| 亚洲自拍偷拍网站| 亚洲一区二区三区四区不卡| 夜夜夜精品看看| 午夜在线成人av| 视频一区在线播放| 免费成人在线观看视频| 青青草成人在线观看| 日本大胆欧美人术艺术动态| 久久91精品国产91久久小草| 精品一二三四区| 日欧美一区二区| 久久99蜜桃精品| 国产精品1024| 成人丝袜18视频在线观看| 不卡的电影网站| 色狠狠色狠狠综合| 3atv一区二区三区| 欧美成人三级在线| 亚洲国产成人一区二区三区| 亚洲日本乱码在线观看| 亚洲综合区在线| 美女脱光内衣内裤视频久久网站| 久久99国产精品成人| 国产69精品一区二区亚洲孕妇| 99久久综合色| 欧美日韩一区二区三区在线 | 国产精品美女视频| 亚洲欧美精品午睡沙发| 亚洲成人免费影院| 国产制服丝袜一区| 不卡av电影在线播放| 欧美三级电影网| 久久婷婷国产综合精品青草| 国产精品传媒视频| 亚洲一级二级三级在线免费观看| 久久电影网站中文字幕| av电影在线观看完整版一区二区| 欧美亚洲综合另类| 精品国产乱码久久久久久蜜臀| 国产精品久久夜| 五月天欧美精品| 成人a级免费电影| 欧美日韩情趣电影| 国产欧美精品区一区二区三区| 亚洲精品成人悠悠色影视| 日韩电影在线看| 成人污污视频在线观看| 欧美一区二区成人6969| 中国色在线观看另类| 日一区二区三区| 丁香婷婷综合网| 69堂成人精品免费视频| 亚洲欧洲日韩女同| 精品一区二区在线观看| 色天使久久综合网天天| 26uuu精品一区二区三区四区在线| 亚洲欧美国产毛片在线| 国产酒店精品激情| 欧美麻豆精品久久久久久| 国产精品国产三级国产普通话三级 | 日韩一区二区精品在线观看| 一色屋精品亚洲香蕉网站| 美女免费视频一区二区| 欧美系列在线观看| 国产精品日韩成人| 九一九一国产精品| 91麻豆精品国产自产在线观看一区| 日韩美女视频19| 国产精品888| 日韩欧美黄色影院| 丝袜美腿成人在线| 在线这里只有精品| 最近日韩中文字幕| 成人做爰69片免费看网站| 日韩美女一区二区三区| 日韩国产精品大片| 欧美专区在线观看一区| 自拍偷拍欧美精品| av一区二区不卡| 国产免费观看久久| 国产一区二三区| 欧美电影免费观看高清完整版在线 | 亚洲图片有声小说| 色呦呦国产精品| 一区在线观看视频| av午夜一区麻豆| 国产精品国产自产拍高清av王其 | 日韩成人dvd| 欧美日韩亚洲综合在线| 一区二区三区四区蜜桃| 91丨九色丨尤物| 亚洲品质自拍视频| 91免费版pro下载短视频| 国产日产欧美一区二区三区| 精品亚洲porn| 久久综合九色欧美综合狠狠| 韩国成人在线视频| 欧美成人一级视频| 国产一区二区三区免费播放| 精品国产伦一区二区三区观看体验| 开心九九激情九九欧美日韩精美视频电影| 欧美午夜一区二区| 日韩高清不卡一区| 欧美一级夜夜爽| 久久国产精品99久久人人澡| 精品国产乱子伦一区| 国产精品一级二级三级| 国产精品女同一区二区三区| av激情亚洲男人天堂| 亚洲激情第一区| 欧美日韩国产三级| 久久精品国产亚洲aⅴ| 精品国产乱码久久| 成人av在线看| 亚洲激情欧美激情| 欧美一卡2卡3卡4卡| 国产真实乱对白精彩久久| 精品日韩一区二区| 国产v综合v亚洲欧| 亚洲天堂中文字幕| 91精品欧美久久久久久动漫| 激情图区综合网| 欧美国产国产综合| 日本精品视频一区二区| 亚洲高清不卡在线观看| 日韩一区二区三区视频在线 | 免费观看一级欧美片| 久久久无码精品亚洲日韩按摩| 国产成人综合在线| 一区二区三区成人| 日韩欧美一区二区久久婷婷| 大白屁股一区二区视频| 亚洲精品菠萝久久久久久久| 911精品产国品一二三产区| 国产乱码精品1区2区3区| 亚洲精品欧美二区三区中文字幕| 欧美日韩美女一区二区| 国产乱人伦偷精品视频不卡| 一区二区三区精品在线| 精品国产一区二区三区不卡| 色综合 综合色| 狠狠色狠狠色综合系列| 亚洲精品日日夜夜| 久久综合九色综合97婷婷女人 | 国产亚洲自拍一区| 色噜噜夜夜夜综合网| 久久精品国产99国产| 亚洲欧美日韩小说| 欧美一级片在线| 色综合天天做天天爱| 精彩视频一区二区三区 | 精品一区二区免费| 亚洲一区二区在线播放相泽| 亚洲精品一区二区三区精华液| 色综合久久久网| 国产成人亚洲精品青草天美| 午夜精品一区二区三区免费视频 | 99精品一区二区| 精品一区二区三区在线播放视频| 亚洲男人的天堂在线aⅴ视频| 日韩免费电影一区| 在线观看日韩精品|