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

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

?? usb.h

?? xen 3.2.2 源碼
?? H
字號(hào):
/* * QEMU USB API *  * Copyright (c) 2005 Fabrice Bellard *  * 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. */#define USB_TOKEN_SETUP 0x2d#define USB_TOKEN_IN    0x69 /* device -> host */#define USB_TOKEN_OUT   0xe1 /* host -> device *//* specific usb messages, also sent in the 'pid' parameter */#define USB_MSG_ATTACH   0x100#define USB_MSG_DETACH   0x101#define USB_MSG_RESET    0x102#define USB_RET_NODEV  (-1) #define USB_RET_NAK    (-2)#define USB_RET_STALL  (-3)#define USB_RET_BABBLE (-4)#define USB_RET_ASYNC  (-5)#define USB_SPEED_LOW   0#define USB_SPEED_FULL  1#define USB_SPEED_HIGH  2#define USB_STATE_NOTATTACHED 0#define USB_STATE_ATTACHED    1//#define USB_STATE_POWERED     2#define USB_STATE_DEFAULT     3//#define USB_STATE_ADDRESS     4//#define	USB_STATE_CONFIGURED  5#define USB_STATE_SUSPENDED   6#define USB_CLASS_AUDIO			1#define USB_CLASS_COMM			2#define USB_CLASS_HID			3#define USB_CLASS_PHYSICAL		5#define USB_CLASS_STILL_IMAGE		6#define USB_CLASS_PRINTER		7#define USB_CLASS_MASS_STORAGE		8#define USB_CLASS_HUB			9#define USB_CLASS_CDC_DATA		0x0a#define USB_CLASS_CSCID			0x0b#define USB_CLASS_CONTENT_SEC		0x0d#define USB_CLASS_APP_SPEC		0xfe#define USB_CLASS_VENDOR_SPEC		0xff#define USB_DIR_OUT			0#define USB_DIR_IN			0x80#define USB_TYPE_MASK			(0x03 << 5)#define USB_TYPE_STANDARD		(0x00 << 5)#define USB_TYPE_CLASS			(0x01 << 5)#define USB_TYPE_VENDOR			(0x02 << 5)#define USB_TYPE_RESERVED		(0x03 << 5)#define USB_RECIP_MASK			0x1f#define USB_RECIP_DEVICE		0x00#define USB_RECIP_INTERFACE		0x01#define USB_RECIP_ENDPOINT		0x02#define USB_RECIP_OTHER			0x03#define DeviceRequest ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_DEVICE)<<8)#define DeviceOutRequest ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_DEVICE)<<8)#define InterfaceRequest \        ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)#define InterfaceOutRequest \        ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_INTERFACE)<<8)#define EndpointRequest ((USB_DIR_IN|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)<<8)#define EndpointOutRequest \        ((USB_DIR_OUT|USB_TYPE_STANDARD|USB_RECIP_ENDPOINT)<<8)#define USB_REQ_GET_STATUS		0x00#define USB_REQ_CLEAR_FEATURE		0x01#define USB_REQ_SET_FEATURE		0x03#define USB_REQ_SET_ADDRESS		0x05#define USB_REQ_GET_DESCRIPTOR		0x06#define USB_REQ_SET_DESCRIPTOR		0x07#define USB_REQ_GET_CONFIGURATION	0x08#define USB_REQ_SET_CONFIGURATION	0x09#define USB_REQ_GET_INTERFACE		0x0A#define USB_REQ_SET_INTERFACE		0x0B#define USB_REQ_SYNCH_FRAME		0x0C#define USB_DEVICE_SELF_POWERED		0#define USB_DEVICE_REMOTE_WAKEUP	1#define USB_DT_DEVICE			0x01#define USB_DT_CONFIG			0x02#define USB_DT_STRING			0x03#define USB_DT_INTERFACE		0x04#define USB_DT_ENDPOINT			0x05typedef struct USBPort USBPort;typedef struct USBDevice USBDevice;typedef struct USBPacket USBPacket;/* definition of a USB device */struct USBDevice {    void *opaque;    int (*handle_packet)(USBDevice *dev, USBPacket *p);    void (*handle_destroy)(USBDevice *dev);    int speed;        /* The following fields are used by the generic USB device       layer. They are here just to avoid creating a new structure for       them. */    void (*handle_reset)(USBDevice *dev);    int (*handle_control)(USBDevice *dev, int request, int value,                          int index, int length, uint8_t *data);    int (*handle_data)(USBDevice *dev, USBPacket *p);    uint8_t addr;    char devname[32];        int state;    uint8_t setup_buf[8];    uint8_t data_buf[1024];    int remote_wakeup;    int setup_state;    int setup_len;    int setup_index;};typedef void (*usb_attachfn)(USBPort *port, USBDevice *dev);/* USB port on which a device can be connected */struct USBPort {    USBDevice *dev;    usb_attachfn attach;    void *opaque;    int index; /* internal port index, may be used with the opaque */    struct USBPort *next; /* Used internally by qemu.  */};typedef void USBCallback(USBPacket * packet, void *opaque);/* Structure used to hold information about an active USB packet.  */struct USBPacket {    /* Data fields for use by the driver.  */    int pid;    uint8_t devaddr;    uint8_t devep;    uint8_t *data;    int len;    /* Internal use by the USB layer.  */    USBCallback *complete_cb;    void *complete_opaque;    USBCallback *cancel_cb;    void * *cancel_opaque;};/* Defer completion of a USB packet.  The hadle_packet routine should then   return USB_RET_ASYNC.  Packets that complete immediately (before   handle_packet returns) should not call this method.  */static inline void usb_defer_packet(USBPacket *p, USBCallback *cancel,                                    void * opaque){    p->cancel_cb = cancel;    p->cancel_opaque = opaque;}/* Notify the controller that an async packet is complete.  This should only   be called for packets previously deferred with usb_defer_packet, and   should never be called from within handle_packet.  */static inline void usb_packet_complete(USBPacket *p){    p->complete_cb(p, p->complete_opaque);}/* Cancel an active packet.  The packed must have been deferred with   usb_defer_packet,  and not yet completed.  */static inline void usb_cancel_packet(USBPacket * p){    p->cancel_cb(p, p->cancel_opaque);}void usb_attach(USBPort *port, USBDevice *dev);int usb_generic_handle_packet(USBDevice *s, USBPacket *p);int set_usb_string(uint8_t *buf, const char *str);void usb_send_msg(USBDevice *dev, int msg);void usb_packet_complete(USBPacket *p);/* usb hub */USBDevice *usb_hub_init(int nb_ports);/* usb-uhci.c */void usb_uhci_init(PCIBus *bus, int devfn);/* usb-ohci.c */void usb_ohci_init(struct PCIBus *bus, int num_ports, int devfn);/* usb-linux.c */USBDevice *usb_host_device_open(const char *devname);void usb_host_info(void);/* usb-hid.c */USBDevice *usb_mouse_init(void);USBDevice *usb_tablet_init(void);/* usb-msd.c */USBDevice *usb_msd_init(const char *filename, BlockDriver *drv);/* usb.c */void generic_usb_save(QEMUFile* f, void *opaque);int generic_usb_load(QEMUFile* f, void *opaque, int version_id);

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色偷偷88欧美精品久久久| 国产91在线|亚洲| 欧美老女人第四色| 奇米一区二区三区av| 欧美一区二区日韩一区二区| 欧美a级一区二区| 久久天堂av综合合色蜜桃网| 成人在线综合网站| 亚洲人成精品久久久久久| 欧美性感一类影片在线播放| 天堂午夜影视日韩欧美一区二区| 91精品国产综合久久蜜臀| 久88久久88久久久| 亚洲三级在线免费观看| 678五月天丁香亚洲综合网| 国内一区二区视频| 亚洲天堂中文字幕| 91精品国产品国语在线不卡| 国产一区91精品张津瑜| 中文字幕字幕中文在线中不卡视频| 色欧美片视频在线观看| 美女视频一区在线观看| 国产精品全国免费观看高清 | 欧美日韩一区二区三区不卡 | 国产亚洲欧美一级| 色狠狠桃花综合| 另类小说一区二区三区| 18欧美乱大交hd1984| 欧美一级理论片| 99综合电影在线视频| 日本aⅴ亚洲精品中文乱码| 国产精品视频免费| 欧美日韩免费一区二区三区 | 成人欧美一区二区三区黑人麻豆 | 久久99国产精品久久| 中文字幕欧美一区| 精品精品欲导航| 在线亚洲欧美专区二区| 国产一区亚洲一区| 日韩国产精品久久久久久亚洲| 国产精品三级视频| 久久看人人爽人人| 91麻豆精品国产自产在线观看一区| av在线不卡网| 国产激情一区二区三区| 久久国产剧场电影| 日韩国产高清在线| 亚洲愉拍自拍另类高清精品| 久久久国产午夜精品| 欧美一级片免费看| 欧美亚洲一区二区三区四区| 成人18视频日本| 国产精品一区二区在线看| 日韩国产欧美一区二区三区| 亚洲一区二区在线视频| 国产精品视频yy9299一区| 日韩美女主播在线视频一区二区三区| 一本久道中文字幕精品亚洲嫩| 国产成人综合在线| 国产精品996| 国产原创一区二区| 国产一区欧美二区| 久久精品99久久久| 蜜桃久久久久久久| 日本欧美加勒比视频| 日日摸夜夜添夜夜添精品视频| 一区二区三区精品| 亚洲乱码日产精品bd| 亚洲欧美日韩久久| 亚洲视频一区二区在线| 一区二区中文字幕在线| 国产精品久久毛片a| 国产精品嫩草久久久久| 中文字幕免费不卡| 国产精品成人免费| 国产三级三级三级精品8ⅰ区| 亚洲精品一区在线观看| 精品av综合导航| 久久女同性恋中文字幕| 国产三级久久久| 国产精品乱码人人做人人爱| 中文字幕av一区二区三区免费看 | 亚洲国产精品自拍| 午夜精品久久久久久久99水蜜桃| 亚洲一区二区三区在线| 午夜视频久久久久久| 日韩va欧美va亚洲va久久| 麻豆一区二区99久久久久| 国产一区二三区| 国产91精品精华液一区二区三区 | 日韩精品一区二区三区四区| 精品国产一区二区三区不卡| 久久久蜜桃精品| 中文字幕一区不卡| 亚洲国产精品久久人人爱| 午夜影院久久久| 麻豆高清免费国产一区| 粉嫩欧美一区二区三区高清影视 | 欧美在线影院一区二区| 欧美高清精品3d| 久久久久久亚洲综合| 国产精品无遮挡| 亚洲国产毛片aaaaa无费看| 免费亚洲电影在线| 不卡的av在线| 欧美日产在线观看| 国产婷婷色一区二区三区在线| 国产精品色眯眯| 日欧美一区二区| 国产高清一区日本| 欧美在线一区二区三区| 久久在线免费观看| 亚洲另类中文字| 国产尤物一区二区在线 | 777午夜精品免费视频| 亚洲精品在线观| 夜夜嗨av一区二区三区| 久久99这里只有精品| av男人天堂一区| 欧美电影免费观看高清完整版在线 | 国产mv日韩mv欧美| 欧美日韩和欧美的一区二区| 久久亚洲一级片| 亚洲在线中文字幕| 国产精品一二三| 欧美裸体bbwbbwbbw| 国产精品美女久久福利网站| 三级久久三级久久久| eeuss鲁片一区二区三区在线观看| 制服丝袜在线91| 亚洲欧美日韩电影| 国产成人综合在线播放| 777欧美精品| 一区二区三区日韩欧美| 国产精品系列在线播放| 制服丝袜成人动漫| 亚洲欧美日韩国产综合在线| 国产美女精品人人做人人爽| 欧美巨大另类极品videosbest| 亚洲天堂久久久久久久| 国产91丝袜在线观看| 日韩一区二区三区在线| 亚洲成人www| 欧洲亚洲国产日韩| 亚洲色图制服诱惑 | 久久久久9999亚洲精品| 日韩精品91亚洲二区在线观看| 色哟哟国产精品免费观看| 久久久久久9999| 精品一区二区三区香蕉蜜桃| 欧美日韩夫妻久久| 亚洲一区二区三区免费视频| 99久久免费视频.com| 国产精品视频线看| 国产xxx精品视频大全| 2020国产精品自拍| 精品综合免费视频观看| 日韩欧美一区在线观看| 麻豆精品在线播放| 欧美一区在线视频| 日韩高清在线不卡| 在线成人免费视频| 视频一区二区中文字幕| 欧美妇女性影城| 青青草国产成人99久久| 91精品午夜视频| 蜜臀精品一区二区三区在线观看| 69精品人人人人| 日本不卡在线视频| 日韩色在线观看| 国产乱码精品1区2区3区| 久久久久9999亚洲精品| 福利一区二区在线观看| 国产精品―色哟哟| 在线视频欧美精品| 日本vs亚洲vs韩国一区三区| 日韩一区二区三区免费观看| 美洲天堂一区二卡三卡四卡视频| 精品国内二区三区| 成人听书哪个软件好| 亚洲三级免费观看| 欧美视频一区二区在线观看| 日本中文字幕不卡| 久久亚洲私人国产精品va媚药| 国产不卡一区视频| 亚洲精品老司机| 91精品国产麻豆| 精品无码三级在线观看视频| 国产欧美一区二区三区鸳鸯浴| 不卡av在线网| 午夜电影网亚洲视频| 精品国产凹凸成av人导航| 国产91对白在线观看九色| 亚洲狠狠丁香婷婷综合久久久| 欧美日韩日日摸| 国产麻豆精品在线观看| 亚洲三级在线免费| 日韩欧美一级特黄在线播放| 成人免费视频网站在线观看| 亚洲国产美女搞黄色|