📄 usb_descinfo.h
字号:
/*
* description: USB Descriptor definition
* Maker : Tsuyoshi Yamashita
* Copyright : (C)2004,SEIKO EPSON Corp. All Rights Reserved.
*
*--------------------------------------------------------------------------
* $Revision: 1.3 $ $Date: 2006/08/10 08:11:29 $
*/
#ifndef USB_DESCINFO_H
#define USB_DESCINFO_H
#define USB_DESCINFO_SPEED_COMMON (0) /* Speed FS/HS Common */
#define USB_DESCINFO_SPEED_LS (1) /* Speed LS */
#define USB_DESCINFO_SPEED_FS (2) /* Speed FS */
#define USB_DESCINFO_SPEED_HS (3) /* Speed HS */
/*--------------------------------------------------------------------------
* Descriptor information format
*/
typedef struct usbDescInfo {
UCHAR wDescInfoSizeH; /* Descriptor Data Info Size High */
UCHAR wDescInfoSizeL; /* Descriptor Data Info Size Low */
UCHAR bHeaderSize; /* Header Size */
UCHAR bType; /* Descriptor Type */
UCHAR bIndex; /* Descriptor Index */
UCHAR bSpeedType; /* Speed Type */
UCHAR bDescData[1]; /* Descriptor Data */
} USB_DESCINFO;
/*--------------------------------------------------------------------------
* Device Descriptor
*/
typedef struct usbDescDevice {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bcdUSB[2];
UCHAR bDeviceClass;
UCHAR bDeviceSubClass;
UCHAR bDeviceProtocol;
UCHAR bMaxPacketSize0;
UCHAR idVendor[2];
UCHAR idProduct[2];
UCHAR bcdDevice[2];
UCHAR iManufacturer;
UCHAR iProduct;
UCHAR iSerialNumber;
UCHAR bNumConfigurations;
} USB_DESC_DEVICE;
/*--------------------------------------------------------------------------
* Device Qualifier
*/
typedef struct usbDescDeviceQual {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bcdUSB[2];
UCHAR bDeviceClass;
UCHAR bDeviceSubClass;
UCHAR bDeviceProtocol;
UCHAR bMaxPacketSize0;
UCHAR bNumConfigurations;
UCHAR bReserved;
} USB_DESC_DEVICE_QUAL;
/*--------------------------------------------------------------------------
* Configuration Descriptor
*/
typedef struct usbDescConfig {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR wTotalLength[2];
UCHAR bNumInterfaces;
UCHAR bConfigurationValue;
UCHAR iConfiguration;
UCHAR bmAttributes;
UCHAR bMaxPower;
} USB_DESC_CONFIG;
/*--------------------------------------------------------------------------
* Other Speed Configuration Descriptor
*/
typedef struct usbDescOtherSpeedConfig {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR wTotalLength[2];
UCHAR bNumInterfaces;
UCHAR bConfigurationValue;
UCHAR iConfiguration;
UCHAR bmAttributes;
UCHAR bMaxPower;
} USB_DESC_OTHER_SPEED_CONFIG;
/*--------------------------------------------------------------------------
* Interface Descriptor
*/
typedef struct {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bInterfaceNumber;
UCHAR bAlternateSetting;
UCHAR bNumEndpoints;
UCHAR bInterfaceClass;
UCHAR bInterfaceSubClass;
UCHAR bInterfaceProtocol;
UCHAR iInterface;
} USB_DESC_INTERFACE;
/*--------------------------------------------------------------------------
* Endpoint Descriptor
*/
typedef struct usbDescEndpoint {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bEndpointAddress;
UCHAR bmAttributes;
UCHAR wMaxPacketSize[2];
UCHAR bInterval;
} USB_DESC_ENDPOINT;
/*--------------------------------------------------------------------------
* String Descriptor
*/
typedef struct usbDescString {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bString[1];
} USB_DESC_STRING;
/*--------------------------------------------------------------------------
* Hub Descriptor
*/
typedef struct usbDescHub {
UCHAR bLength;
UCHAR bDescriptorType;
UCHAR bNbrPorts;
UCHAR wHubCharactoristics[2];
UCHAR bPwrOn2PwrGood;
UCHAR bHubContrCurrent;
UCHAR DeviceRemovable;
UCHAR PortPwrCtrlMask;
} USB_DESC_HUB;
#endif /* USB_DESCINFO_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -