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

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

?? usb.h

?? 基于ARM7的直流電機(jī)的驅(qū)動(dòng),還有FLASH驅(qū)動(dòng),LCD驅(qū)動(dòng)等
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/*-------------------------------------------------------------------------*/
/*
* 來(lái)自LINUX.
*
*
*/
/* This is arbitrary.
 * From USB 2.0 spec Table 11-13, offset 7, a hub can
 * have up to 255 ports. The most yet reported is 10.
 */
#define USB_MAXCHILDREN		(16)

/* CONTROL REQUEST SUPPORT */

/*
 * USB directions
 *
 * This bit flag is used in endpoint descriptors' bEndpointAddress field.
 * It's also one of three fields in control requests bRequestType.
 */
#define USB_DIR_OUT			0		/* to device */
#define USB_DIR_IN			0x80		/* to host */

/*
 * USB types, the second of three bRequestType fields
 */
#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)

/*
 * USB recipients, the third of three bRequestType fields
 */
#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

/*
 * Standard requests, for the bRequest field of a SETUP packet.
 *
 * These are qualified by the bRequestType field, so that for example
 * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved
 * by a GET_STATUS request.
 */
#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_REQ_SET_ENCRYPTION		0x0D	/* Wireless USB */
#define USB_REQ_GET_ENCRYPTION		0x0E
#define USB_REQ_SET_HANDSHAKE		0x0F
#define USB_REQ_GET_HANDSHAKE		0x10
#define USB_REQ_SET_CONNECTION		0x11
#define USB_REQ_SET_SECURITY_DATA	0x12
#define USB_REQ_GET_SECURITY_DATA	0x13
#define USB_REQ_SET_WUSB_DATA		0x14
#define USB_REQ_LOOPBACK_DATA_WRITE	0x15
#define USB_REQ_LOOPBACK_DATA_READ	0x16
#define USB_REQ_SET_INTERFACE_DS	0x17

/*
 * USB feature flags are written using USB_REQ_{CLEAR,SET}_FEATURE, and
 * are read as a bit array returned by USB_REQ_GET_STATUS.  (So there
 * are at most sixteen features of each type.)
 */
#define USB_DEVICE_SELF_POWERED		0	/* (read only) */
#define USB_DEVICE_REMOTE_WAKEUP	1	/* dev may initiate wakeup */
#define USB_DEVICE_TEST_MODE		2	/* (wired high speed only) */
#define USB_DEVICE_BATTERY		2	/* (wireless) */
#define USB_DEVICE_B_HNP_ENABLE		3	/* (otg) dev may initiate HNP */
#define USB_DEVICE_WUSB_DEVICE		3	/* (wireless)*/
#define USB_DEVICE_A_HNP_SUPPORT	4	/* (otg) RH port supports HNP */
#define USB_DEVICE_A_ALT_HNP_SUPPORT	5	/* (otg) other RH port does */
#define USB_DEVICE_DEBUG_MODE		6	/* (special devices only) */

#define USB_ENDPOINT_HALT		0	/* IN/OUT will STALL */


/**
 * struct usb_ctrlrequest - SETUP data for a USB device control request
 * @bRequestType: matches the USB bmRequestType field
 * @bRequest: matches the USB bRequest field
 * @wValue: matches the USB wValue field (le16 byte order)
 * @wIndex: matches the USB wIndex field (le16 byte order)
 * @wLength: matches the USB wLength field (le16 byte order)
 *
 * This structure is used to send control requests to a USB device.  It matches
 * the different fields of the USB 2.0 Spec section 9.3, table 9-2.  See the
 * USB spec for a fuller description of the different fields, and what they are
 * used for.
 *
 * Note that the driver for any interface can issue control requests.
 * For most devices, interfaces don't coordinate with each other, so
 * such requests may be made at any time.
 */
__packed struct usb_ctrlrequest {
	UCHAR bRequestType;
	UCHAR bRequest;
	USHORT wValue;
	USHORT wIndex;
	USHORT wLength;
};

/*-------------------------------------------------------------------------*/

/*
 * STANDARD DESCRIPTORS ... as returned by GET_DESCRIPTOR, or
 * (rarely) accepted by SET_DESCRIPTOR.
 *
 * Note that all multi-byte values here are encoded in little endian
 * byte order "on the wire".  But when exposed through Linux-USB APIs,
 * they've been converted to cpu byte order.
 */

/*
 * Descriptor types ... USB 2.0 spec table 9.5
 */
#define USB_DT_DEVICE			0x01
#define USB_DT_CONFIG			0x02
#define USB_DT_STRING			0x03
#define USB_DT_INTERFACE		0x04
#define USB_DT_ENDPOINT			0x05
#define USB_DT_DEVICE_QUALIFIER		0x06
#define USB_DT_OTHER_SPEED_CONFIG	0x07
#define USB_DT_INTERFACE_POWER		0x08
/* these are from a minor usb 2.0 revision (ECN) */
#define USB_DT_OTG			0x09
#define USB_DT_DEBUG			0x0a
#define USB_DT_INTERFACE_ASSOCIATION	0x0b
/* these are from the Wireless USB spec */
#define USB_DT_SECURITY			0x0c
#define USB_DT_KEY			0x0d
#define USB_DT_ENCRYPTION_TYPE		0x0e
#define USB_DT_BOS			0x0f
#define USB_DT_DEVICE_CAPABILITY	0x10
#define USB_DT_WIRELESS_ENDPOINT_COMP	0x11

/* conventional codes for class-specific descriptors */
#define USB_DT_CS_DEVICE		0x21
#define USB_DT_CS_CONFIG		0x22
#define USB_DT_CS_STRING		0x23
#define USB_DT_CS_INTERFACE		0x24
#define USB_DT_CS_ENDPOINT		0x25

/* All standard descriptors have these 2 fields at the beginning */
__packed struct usb_descriptor_header {
	UCHAR  bLength;
	UCHAR  bDescriptorType;
};


/*-------------------------------------------------------------------------*/

/* USB_DT_DEVICE: Device descriptor */
__packed struct usb_device_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	USHORT bcdUSB;
	UCHAR  bDeviceClass;
	UCHAR  bDeviceSubClass;
	UCHAR  bDeviceProtocol;
	UCHAR  bMaxPacketSize0;
	USHORT idVendor;
	USHORT idProduct;
	USHORT bcdDevice;
	UCHAR  iManufacturer;
	UCHAR  iProduct;
	UCHAR  iSerialNumber;
	UCHAR  bNumConfigurations;
};

#define USB_DT_DEVICE_SIZE		18


/*
 * Device and/or Interface Class codes
 * as found in bDeviceClass or bInterfaceClass
 * and defined by www.usb.org documents
 */
#define USB_CLASS_PER_INTERFACE		0	/* for DeviceClass */
#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	/* chip+ smart card */
#define USB_CLASS_CONTENT_SEC		0x0d	/* content security */
#define USB_CLASS_VIDEO			0x0e
#define USB_CLASS_WIRELESS_CONTROLLER	0xe0
#define USB_CLASS_APP_SPEC		0xfe
#define USB_CLASS_VENDOR_SPEC		0xff

/* Sub Classes */

#define US_SC_RBC	0x01		/* Typically, flash devices */
#define US_SC_8020	0x02		/* CD-ROM */
#define US_SC_QIC	0x03		/* QIC-157 Tapes */
#define US_SC_UFI	0x04		/* Floppy */
#define US_SC_8070	0x05		/* Removable media */
#define US_SC_SCSI	0x06		/* Transparent */
#define US_SC_ISD200  0x07		/* ISD200 ATA */

/*-------------------------------------------------------------------------*/

/* USB_DT_CONFIG: Configuration descriptor information.
 *
 * USB_DT_OTHER_SPEED_CONFIG is the same descriptor, except that the
 * descriptor type is different.  Highspeed-capable devices can look
 * different depending on what speed they're currently running.  Only
 * devices with a USB_DT_DEVICE_QUALIFIER have any OTHER_SPEED_CONFIG
 * descriptors.
 */
__packed struct usb_config_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	USHORT wTotalLength;
	UCHAR  bNumInterfaces;
	UCHAR  bConfigurationValue;
	UCHAR  iConfiguration;
	UCHAR  bmAttributes;
	UCHAR  bMaxPower;
};

#define USB_DT_CONFIG_SIZE		9

/* from config descriptor bmAttributes */
#define USB_CONFIG_ATT_ONE		(1 << 7)	/* must be set */
#define USB_CONFIG_ATT_SELFPOWER	(1 << 6)	/* self powered */
#define USB_CONFIG_ATT_WAKEUP		(1 << 5)	/* can wakeup */
#define USB_CONFIG_ATT_BATTERY		(1 << 4)	/* battery powered */

/*-------------------------------------------------------------------------*/

/* USB_DT_STRING: String descriptor */
__packed struct usb_string_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	USHORT wData[1];		/* UTF-16LE encoded */
};

/* note that "string" zero is special, it holds language codes that
 * the device supports, not Unicode characters.
 */

/*-------------------------------------------------------------------------*/

/* USB_DT_INTERFACE: Interface descriptor */
__packed struct usb_interface_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	UCHAR  bInterfaceNumber;
	UCHAR  bAlternateSetting;
	UCHAR  bNumEndpoints;
	UCHAR  bInterfaceClass;
	UCHAR  bInterfaceSubClass;
	UCHAR  bInterfaceProtocol;
	UCHAR  iInterface;
};

#define USB_DT_INTERFACE_SIZE		9

/*-------------------------------------------------------------------------*/

/* USB_DT_ENDPOINT: Endpoint descriptor */
__packed struct usb_endpoint_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	UCHAR  bEndpointAddress;
	UCHAR  bmAttributes;
	USHORT wMaxPacketSize;
	UCHAR  bInterval;

	/* NOTE:  these two are _only_ in audio endpoints. */
	/* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */
	UCHAR  bRefresh;
	UCHAR  bSynchAddress;
};

#define USB_DT_ENDPOINT_SIZE		7
#define USB_DT_ENDPOINT_AUDIO_SIZE	9	/* Audio extension */


/*
 * Endpoints
 */
#define USB_ENDPOINT_NUMBER_MASK	0x0f	/* in bEndpointAddress */
#define USB_ENDPOINT_DIR_MASK		0x80

#define USB_ENDPOINT_XFERTYPE_MASK	0x03	/* in bmAttributes */
#define USB_ENDPOINT_XFER_CONTROL	0
#define USB_ENDPOINT_XFER_ISOC		1
#define USB_ENDPOINT_XFER_BULK		2
#define USB_ENDPOINT_XFER_INT		3
#define USB_ENDPOINT_MAX_ADJUSTABLE	0x80


/*-------------------------------------------------------------------------*/

/* USB_DT_DEVICE_QUALIFIER: Device Qualifier descriptor */
__packed struct usb_qualifier_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	USHORT bcdUSB;
	UCHAR  bDeviceClass;
	UCHAR  bDeviceSubClass;
	UCHAR  bDeviceProtocol;
	UCHAR  bMaxPacketSize0;
	UCHAR  bNumConfigurations;
	UCHAR  bRESERVED;
};


/*-------------------------------------------------------------------------*/

/* USB_DT_OTG (from OTG 1.0a supplement) */
__packed struct usb_otg_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	UCHAR  bmAttributes;	/* support for HNP, SRP, etc */
};

/* from usb_otg_descriptor.bmAttributes */
#define USB_OTG_SRP		(1 << 0)
#define USB_OTG_HNP		(1 << 1)	/* swap host/device roles */

/*-------------------------------------------------------------------------*/

/* USB_DT_DEBUG:  for special highspeed devices, replacing serial console */
struct usb_debug_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	/* bulk endpoints with 8 byte maxpacket */
	UCHAR  bDebugInEndpoint;
	UCHAR  bDebugOutEndpoint;
};

/*-------------------------------------------------------------------------*/

/* USB_DT_INTERFACE_ASSOCIATION: groups interfaces */
__packed struct usb_interface_assoc_descriptor {
	UCHAR  bLength;
	UCHAR  bDescriptorType;

	UCHAR  bFirstInterface;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91在线观看成人| 色欧美乱欧美15图片| 午夜精品成人在线视频| 一区在线播放视频| 中文字幕日韩一区| √…a在线天堂一区| 中文av一区特黄| 日韩美女啊v在线免费观看| 中文字幕一区在线观看视频| 中文字幕字幕中文在线中不卡视频| 国产精品国产三级国产aⅴ无密码| 国产精品黄色在线观看| 亚洲精品伦理在线| 午夜欧美2019年伦理| 日韩精品成人一区二区在线| 九色综合狠狠综合久久| 国产成人精品三级麻豆| www.欧美精品一二区| 91亚洲国产成人精品一区二三| 波多野结衣中文一区| 欧美午夜理伦三级在线观看| 日韩一区二区三区观看| 国产欧美一区二区精品久导航| 亚洲美女屁股眼交| 日韩不卡手机在线v区| 国产白丝网站精品污在线入口| 色综合久久久久久久| 欧美日本一区二区在线观看| 精品国产成人在线影院 | 欧美一级黄色片| 欧美一级二级三级乱码| 国产视频一区二区在线观看| 亚洲一区在线视频观看| 国产精品亚洲午夜一区二区三区 | 欧美性猛交一区二区三区精品| 欧美一区二区成人| 亚洲视频一二三区| 久久99久国产精品黄毛片色诱| av一本久道久久综合久久鬼色| 欧美精品1区2区3区| 综合欧美亚洲日本| 黄色小说综合网站| 精品视频一区三区九区| 久久免费国产精品| 日韩av电影免费观看高清完整版 | 欧美视频日韩视频| 国产欧美精品一区二区三区四区| 日韩精品一二三| 日本韩国欧美一区二区三区| 精品区一区二区| 亚洲一区二区欧美日韩| jizzjizzjizz欧美| 久久久久成人黄色影片| 调教+趴+乳夹+国产+精品| 成人h精品动漫一区二区三区| 欧美成人午夜电影| 日本aⅴ亚洲精品中文乱码| 色欧美乱欧美15图片| 国产精品美女久久福利网站| 老司机午夜精品| 制服丝袜亚洲色图| 亚洲一二三四久久| 91日韩精品一区| 国产精品久久久久9999吃药| 国模一区二区三区白浆| 3751色影院一区二区三区| 国产电影一区在线| 日韩欧美一二三| 日本成人中文字幕| 欧美在线free| 亚洲一区二区影院| 91小宝寻花一区二区三区| 国产精品久久久久久久久快鸭| 国产综合色视频| 久久先锋影音av| 国产成人在线网站| 国产精品每日更新在线播放网址| 成人美女在线观看| √…a在线天堂一区| 色综合久久中文综合久久97| 一区二区三区在线播| 欧美亚洲高清一区二区三区不卡| 夜夜嗨av一区二区三区| 欧美在线免费观看视频| 午夜激情久久久| 日韩亚洲欧美成人一区| 久久国产精品无码网站| 337p日本欧洲亚洲大胆色噜噜| 久草中文综合在线| 国产精品毛片久久久久久| 粉嫩av亚洲一区二区图片| 亚洲色图在线视频| 欧美日韩精品一区二区天天拍小说| 亚洲一区国产视频| 欧美不卡视频一区| 国产精品亚洲一区二区三区在线| 日本一区二区在线不卡| 在线观看中文字幕不卡| 日韩不卡在线观看日韩不卡视频| 欧美一区二区三区婷婷月色| 国产伦精一区二区三区| 亚洲欧美国产三级| 91精品国产入口| 成人一区二区三区中文字幕| 亚洲伦理在线精品| 欧美成人一区二区三区片免费 | 亚洲成人一区二区在线观看| 欧美一区日韩一区| 国产成人精品一区二| 亚洲成人免费在线| 久久久久久久免费视频了| 日本道色综合久久| 国产精品亚洲а∨天堂免在线| 亚洲激情在线激情| 欧美mv和日韩mv的网站| 99久久99久久精品免费看蜜桃| 奇米综合一区二区三区精品视频| 国产精品乱码妇女bbbb| 4438成人网| 在线免费不卡电影| 国产风韵犹存在线视精品| 亚洲一区二区三区国产| 国产精品网站导航| 欧美一级日韩不卡播放免费| 不卡视频一二三四| 国内精品国产成人| 亚洲 欧美综合在线网络| 国产精品传媒在线| 亚洲精品一区二区三区四区高清| 色国产精品一区在线观看| 国产一区二区伦理片| 日韩精品亚洲专区| 午夜精品一区在线观看| 1024成人网| 国产精品免费久久久久| 国产人伦精品一区二区| 精品国产乱码久久久久久影片| 欧美精品久久99久久在免费线| 99国产精品久久久久| 不卡欧美aaaaa| 丁香婷婷综合色啪| 国产一区二区三区精品视频| 毛片一区二区三区| 日产欧产美韩系列久久99| 亚洲二区在线视频| 一区二区三区电影在线播| 亚洲日本一区二区三区| 国产精品美女久久久久aⅴ | 久久亚区不卡日本| 日韩亚洲欧美综合| 欧美一卡二卡在线| 91精品国产色综合久久久蜜香臀| 精品视频免费在线| 欧美日韩国产高清一区二区三区 | 久久精品国内一区二区三区| 日韩在线卡一卡二| 丝瓜av网站精品一区二区| 亚洲国产成人tv| 午夜伊人狠狠久久| 亚洲成av人片| 免费看日韩a级影片| 男男gaygay亚洲| 韩国三级在线一区| 久久成人久久爱| 国产精品一二三四区| 盗摄精品av一区二区三区| 99精品桃花视频在线观看| av成人免费在线| 欧美色精品在线视频| 欧美一区二区三区免费大片| 欧美成人一区二区| 国产精品女同互慰在线看| 一区二区三区在线免费播放| 亚洲地区一二三色| 国产一区二区91| av在线不卡电影| 欧美日韩一区国产| 日韩区在线观看| 国产午夜亚洲精品理论片色戒| 国产精品女主播av| 日韩激情视频网站| 粉嫩蜜臀av国产精品网站| 在线亚洲+欧美+日本专区| 在线不卡欧美精品一区二区三区| 精品国产精品网麻豆系列| 亚洲视频一区二区在线观看| 日韩精品乱码免费| 国产成人自拍网| 6080午夜不卡| 中文一区在线播放 | 久久女同互慰一区二区三区| 中文字幕色av一区二区三区| 蜜臀va亚洲va欧美va天堂| 不卡的电影网站| 欧美大片国产精品| 亚洲最色的网站| 成人小视频免费在线观看| 制服丝袜激情欧洲亚洲| 亚洲欧美激情视频在线观看一区二区三区 | 国产欧美精品一区二区三区四区 |