基于OHCI的USB主机 —— USB设备描述符数据结构

根据 USB 规范,定义各种描述符的数据结构如下:
/**
 * 设备描述符
 */
typedef struct _DEVICE_DESC
{   BYTE bLength ;
    BYTE bDescriptorType ;
    WORD bcdUSB ;
    BYTE bDeviceClass ;
    BYTE bDeviceSubClass ;
    BYTE bDeviceProtocol ;
    BYTE bMaxPacketSize0 ;
    WORD idVendor ;
    WORD idProduct ;
    WORD bcdDevice ;
    BYTE iManufacturer ;
    BYTE iProduct ;
    BYTE iSerialNumber ;
    BYTE bNumConfigurations ;
} DEVICE_DESC , * pDevDesc ;
 
/**
 * 配置描述符
 */
typedef struct _CFGDESC
{  
    BYTE bLength ;              // Size of descriptor in Byte
    BYTE bType ;              // Configuration
    WORD wLength ;              // Total length
    BYTE bNumIntf ;           // Number of interface
    BYTE bCV ;                   // bConfigurationValue
    BYTE bIndex ;               // iConfiguration
    BYTE bAttr ;                // Configuration Characteristic
    BYTE bMaxPower ;          // Power config
    BYTE rsvd ;
} CFG_DESC , * pCfgDesc ;
 
/**
 * 接口描述符
 */
typedef struct _INTF_DESC
{   BYTE bLength ;
    BYTE bType ;
    BYTE iNum ;
    BYTE iAltString ;
    BYTE bEndPoints ;
    BYTE iClass ;
    BYTE iSub ;
    BYTE iProto ;
    BYTE iIndex ;
} INTF_DESC , * pIntfDesc ;
 
/**
 * 端点描述符
 */
typedef struct _ED_DESC
{   BYTE bLength ;
    BYTE bType ;
    BYTE bEPAdd ;
    BYTE bAttr ;
    WORD wPayLoad ;               // low-speed this must be 0x08
    BYTE bInterval ;
    BYTE rsvd ;
} ED_DESC , * pEPDesc ;

你可能感兴趣的:(数据结构,usb,设备,mdash,ohci)