⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ch9.h

📁 omap3 linux 2.6 用nocc去除了冗余代码
💻 H
📖 第 1 页 / 共 2 页
字号:
/*-------------------------------------------------------------------------*//* USB_DT_INTERFACE: Interface descriptor */struct usb_interface_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  bInterfaceNumber;	__u8  bAlternateSetting;	__u8  bNumEndpoints;	__u8  bInterfaceClass;	__u8  bInterfaceSubClass;	__u8  bInterfaceProtocol;	__u8  iInterface;} __attribute__ ((packed));#define USB_DT_INTERFACE_SIZE		9/*-------------------------------------------------------------------------*//* USB_DT_ENDPOINT: Endpoint descriptor */struct usb_endpoint_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  bEndpointAddress;	__u8  bmAttributes;	__le16 wMaxPacketSize;	__u8  bInterval;	/* NOTE:  these two are _only_ in audio endpoints. */	/* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */	__u8  bRefresh;	__u8  bSynchAddress;} __attribute__ ((packed));#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 */struct usb_qualifier_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__le16 bcdUSB;	__u8  bDeviceClass;	__u8  bDeviceSubClass;	__u8  bDeviceProtocol;	__u8  bMaxPacketSize0;	__u8  bNumConfigurations;	__u8  bRESERVED;} __attribute__ ((packed));/*-------------------------------------------------------------------------*//* USB_DT_OTG (from OTG 1.0a supplement) */struct usb_otg_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  bmAttributes;	/* support for HNP, SRP, etc */} __attribute__ ((packed));/* 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 {	__u8  bLength;	__u8  bDescriptorType;	/* bulk endpoints with 8 byte maxpacket */	__u8  bDebugInEndpoint;	__u8  bDebugOutEndpoint;} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_DT_INTERFACE_ASSOCIATION: groups interfaces */struct usb_interface_assoc_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  bFirstInterface;	__u8  bInterfaceCount;	__u8  bFunctionClass;	__u8  bFunctionSubClass;	__u8  bFunctionProtocol;	__u8  iFunction;} __attribute__ ((packed));/*-------------------------------------------------------------------------*//* USB_DT_SECURITY:  group of wireless security descriptors, including * encryption types available for setting up a CC/association. */struct usb_security_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__le16 wTotalLength;	__u8  bNumEncryptionTypes;} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_DT_KEY:  used with {GET,SET}_SECURITY_DATA; only public keys * may be retrieved. */struct usb_key_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  tTKID[3];	__u8  bReserved;	__u8  bKeyData[0];} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_DT_ENCRYPTION_TYPE:  bundled in DT_SECURITY groups */struct usb_encryption_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  bEncryptionType;#define	USB_ENC_TYPE_UNSECURE		0#define	USB_ENC_TYPE_WIRED		1	/* non-wireless mode */#define	USB_ENC_TYPE_CCM_1		2	/* aes128/cbc session */#define	USB_ENC_TYPE_RSA_1		3	/* rsa3072/sha1 auth */	__u8  bEncryptionValue;		/* use in SET_ENCRYPTION */	__u8  bAuthKeyIndex;} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_DT_BOS:  group of wireless capabilities */struct usb_bos_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__le16 wTotalLength;	__u8  bNumDeviceCaps;} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_DT_DEVICE_CAPABILITY:  grouped with BOS */struct usb_dev_cap_header {	__u8  bLength;	__u8  bDescriptorType;	__u8  bDevCapabilityType;} __attribute__((packed));#define	USB_CAP_TYPE_WIRELESS_USB	1struct usb_wireless_cap_descriptor {	/* Ultra Wide Band */	__u8  bLength;	__u8  bDescriptorType;	__u8  bDevCapabilityType;	__u8  bmAttributes;#define	USB_WIRELESS_P2P_DRD		(1 << 1)#define	USB_WIRELESS_BEACON_MASK	(3 << 2)#define	USB_WIRELESS_BEACON_SELF	(1 << 2)#define	USB_WIRELESS_BEACON_DIRECTED	(2 << 2)#define	USB_WIRELESS_BEACON_NONE	(3 << 2)	__le16 wPHYRates;	/* bit rates, Mbps */#define	USB_WIRELESS_PHY_53		(1 << 0)	/* always set */#define	USB_WIRELESS_PHY_80		(1 << 1)#define	USB_WIRELESS_PHY_107		(1 << 2)	/* always set */#define	USB_WIRELESS_PHY_160		(1 << 3)#define	USB_WIRELESS_PHY_200		(1 << 4)	/* always set */#define	USB_WIRELESS_PHY_320		(1 << 5)#define	USB_WIRELESS_PHY_400		(1 << 6)#define	USB_WIRELESS_PHY_480		(1 << 7)	__u8  bmTFITXPowerInfo;	/* TFI power levels */	__u8  bmFFITXPowerInfo;	/* FFI power levels */	__le16 bmBandGroup;	__u8  bReserved;} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_DT_WIRELESS_ENDPOINT_COMP:  companion descriptor associated with * each endpoint descriptor for a wireless device */struct usb_wireless_ep_comp_descriptor {	__u8  bLength;	__u8  bDescriptorType;	__u8  bMaxBurst;	__u8  bMaxSequence;	__le16 wMaxStreamDelay;	__le16 wOverTheAirPacketSize;	__u8  bOverTheAirInterval;	__u8  bmCompAttributes;#define USB_ENDPOINT_SWITCH_MASK	0x03	/* in bmCompAttributes */#define USB_ENDPOINT_SWITCH_NO		0#define USB_ENDPOINT_SWITCH_SWITCH	1#define USB_ENDPOINT_SWITCH_SCALE	2} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_REQ_SET_HANDSHAKE is a four-way handshake used between a wireless * host and a device for connection set up, mutual authentication, and * exchanging short lived session keys.  The handshake depends on a CC. */struct usb_handshake {	__u8 bMessageNumber;	__u8 bStatus;	__u8 tTKID[3];	__u8 bReserved;	__u8 CDID[16];	__u8 nonce[16];	__u8 MIC[8];} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB_REQ_SET_CONNECTION modifies or revokes a connection context (CC). * A CC may also be set up using non-wireless secure channels (including * wired USB!), and some devices may support CCs with multiple hosts. */struct usb_connection_context {	__u8 CHID[16];		/* persistent host id */	__u8 CDID[16];		/* device id (unique w/in host context) */	__u8 CK[16];		/* connection key */} __attribute__((packed));/*-------------------------------------------------------------------------*//* USB 2.0 defines three speeds, here's how Linux identifies them */enum usb_device_speed {	USB_SPEED_UNKNOWN = 0,			/* enumerating */	USB_SPEED_LOW, USB_SPEED_FULL,		/* usb 1.1 */	USB_SPEED_HIGH,				/* usb 2.0 */	USB_SPEED_VARIABLE,			/* wireless (usb 2.5) */};enum usb_device_state {	/* NOTATTACHED isn't in the USB spec, and this state acts	 * the same as ATTACHED ... but it's clearer this way.	 */	USB_STATE_NOTATTACHED = 0,	/* chapter 9 and authentication (wireless) device states */	USB_STATE_ATTACHED,	USB_STATE_POWERED,			/* wired */	USB_STATE_UNAUTHENTICATED,		/* auth */	USB_STATE_RECONNECTING,			/* auth */	USB_STATE_DEFAULT,			/* limited function */	USB_STATE_ADDRESS,	USB_STATE_CONFIGURED,			/* most functions */	USB_STATE_SUSPENDED	/* NOTE:  there are actually four different SUSPENDED	 * states, returning to POWERED, DEFAULT, ADDRESS, or	 * CONFIGURED respectively when SOF tokens flow again.	 */};#endif	  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -