Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

usbstd.h

Go to the documentation of this file.
00001 
00051 #ifndef usbstd_H
00052 
00053 #define usbstd_H
00054 
00055 #include "usbbasictypes.h"
00056 
00060 typedef struct /* USBSetupPacket */
00061 {
00062     UCHAR bmRequestType;
00063     UCHAR bRequest;
00064     UINT16 wValue;
00065     UINT16 wIndex;
00066     UINT16 wLength;
00067 } USBSetupPacket;
00068 
00072 typedef enum
00073 {
00074     GET_STATUS_REQUEST          = 0x00,
00075     CLEAR_FEATURE_REQUEST       = 0x01,
00076     SET_FEATURE_REQUEST         = 0x03,
00077     SET_ADDRESS_REQUEST         = 0x05,
00078     GET_DESCRIPTOR_REQUEST      = 0x06,
00079     SET_DESCRIPTOR_REQUEST      = 0x07,
00080     GET_CONFIGURATION_REQUEST   = 0x08,
00081     SET_CONFIGURATION_REQUEST   = 0x09,
00082     GET_INTERFACE_REQUEST       = 0x0a,
00083     SET_INTERFACE_REQUEST       = 0x0b,
00084     SYNCH_FRAME_REQUEST         = 0x0c
00085 } USBStdRequestType;
00086 
00090 typedef enum
00091 {
00092     USB_DEVICE_DESCRIPTOR           = 0x01,
00093     USB_CONFIGURATION_DESCRIPTOR    = 0x02,
00094     USB_STRING_DESCRIPTOR           = 0x03,
00095     USB_INTERFACE_DESCRIPTOR        = 0x04,
00096     USB_ENDPOINT_DESCRIPTOR         = 0x05
00097 }   USBStdDescriptorType;
00098 
00102 typedef enum
00103 {
00104     ENDPOINT_STALL       = 0x0,
00105     DEVICE_REMOTE_WAKEUP = 0x1
00106 } USBStdFeatureSelector;
00107 
00111 typedef enum
00112 {
00113     USB_ENGLISH_LANGUAGE = 0x09
00114 } USBStdLanguageId;
00115 
00119 typedef enum
00120 {
00121     USB_CONTROL_ENDPOINT     = 0x00,
00122     USB_ISOCHRONOUS_ENDPOINT = 0x01,
00123     USB_BULK_ENDPOINT        = 0x02,
00124     USB_INTERRUPT_ENDPOINT   = 0x03
00125 } USBStdEndpointType;
00126 
00130 typedef enum
00131 {
00132     USB_ENDPOINT_OUT = 0x0,
00133     USB_ENDPOINT_IN  = 1
00134 } USBStdEndpointDirection;
00135     
00136 #ifndef __doxygen_HIDE
00137 
00138 /* bmRequestType masks */
00139 #define USB_REQ_DIR_HOST_TO_DEVICE (0x0 << 7)
00140 #define USB_REQ_DIR_DEVICE_TO_HOST (0x1 << 7)
00141 
00142 #define USB_REQ_TYPE_MASK     (0x3 << 5)
00143 #define USB_REQ_TYPE_STANDARD (0x0 << 5)
00144 #define USB_REQ_TYPE_CLASS    (0x1 << 5)
00145 #define USB_REQ_TYPE_VENDOR   (0x2 << 5)
00146 #define USB_REQ_TYPE_RESERVED (0x3 << 5)
00147 
00148 #define USB_REQ_RCPT_DEVICE    (0x0)
00149 #define USB_REQ_RCPT_INTERFACE (0x1)
00150 #define USB_REQ_RCPT_ENDPOINT  (0x2)
00151 #define USB_REQ_RCPT_OTHER     (0x3)
00152 
00153 #endif /* doxygen_HIDE */
00154 
00155 #endif /* usbstd_H */
00156 
Automatically generated from sources. © Intel Corp. 2003