00001
00051 #ifndef usbstd_H
00052
00053 #define usbstd_H
00054
00055 #include "usbbasictypes.h"
00056
00060 typedef struct
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
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
00154
00155 #endif
00156