vitasdk
Documentation of the vitasdk
udcd.h
Go to the documentation of this file.
1 
7 #ifndef _PSP2KERN_UDCD_H_
8 #define _PSP2KERN_UDCD_H_
9 
10 #include <vitasdk/build_utils.h>
11 #include <psp2kern/types.h>
12 #include <psp2common/udcd.h>
13 
14 #ifdef __cplusplus
15 extern "C" {
16 #endif
17 
20 typedef enum SceUdcdUsbClass {
24  USB_CLASS_HID = 0x03,
25  USB_CLASS_PTP = 0x06,
28  USB_CLASS_HUB = 0x09,
33 
36 typedef enum SceUdcdUsbDt {
37  USB_DT_DEVICE = 0x01,
38  USB_DT_CONFIG = 0x02,
39  USB_DT_STRING = 0x03,
41  USB_DT_ENDPOINT = 0x05
43 
46 typedef enum SceUdcdUsbReq {
57  USB_REQ_SYNC_FRAME = 0x0C
59 
63 #define USB_DT_DEVICE_SIZE 18
64 #define USB_DT_CONFIG_SIZE 9
65 #define USB_DT_INTERFACE_SIZE 9
66 #define USB_DT_ENDPOINT_SIZE 7
67 #define USB_DT_ENDPOINT_AUDIO_SIZE 9
68 #define USB_DT_HUB_NONVAR_SIZE 7
69 
72 #define USB_CTRLTYPE_DIR_MASK 0x80
73 #define USB_CTRLTYPE_DIR_HOST2DEVICE (0 << 7)
74 #define USB_CTRLTYPE_DIR_DEVICE2HOST (1 << 7)
75 #define USB_CTRLTYPE_TYPE_MASK 0x60
76 #define USB_CTRLTYPE_TYPE_STANDARD (0 << 5)
77 #define USB_CTRLTYPE_TYPE_CLASS (1 << 5)
78 #define USB_CTRLTYPE_TYPE_VENDOR (2 << 5)
79 #define USB_CTRLTYPE_TYPE_RESERVED (3 << 5)
80 #define USB_CTRLTYPE_REC_MASK 0x1f
81 #define USB_CTRLTYPE_REC_DEVICE 0
82 #define USB_CTRLTYPE_REC_INTERFACE 1
83 #define USB_CTRLTYPE_REC_ENDPOINT 2
84 #define USB_CTRLTYPE_REC_OTHER 3
85 
88 #define USB_ENDPOINT_ADDRESS_MASK 0x0f /* in bEndpointAddress */
89 #define USB_ENDPOINT_DIR_MASK 0x80
90 
91 #define USB_FEATURE_ENDPOINT_HALT 0
92 
93 #define USB_ENDPOINT_IN 0x80
94 #define USB_ENDPOINT_OUT 0x00
95 
96 #define USB_ENDPOINT_TYPE_MASK 0x03 /* in bmAttributes */
97 #define USB_ENDPOINT_TYPE_CONTROL 0
98 #define USB_ENDPOINT_TYPE_ISOCHRONOUS 1
99 #define USB_ENDPOINT_TYPE_BULK 2
100 #define USB_ENDPOINT_TYPE_INTERRUPT 3
101 
102 /* HID constants. Not part of chapter 9 */
103 
106 typedef enum SceUdcdHidRequest {
114 
117 typedef enum SceUdcdHidDescriptor {
120  HID_DESRIPTOR_PHY = 0x23
122 
125 typedef enum SceUdcdProtocol {
127  RPT_PROTOCOL = 0x01
129 
132 #define HID_INTF 0x03
133 
136 #define BOOT_INTF_SUBCLASS 0x01
137 
140 typedef enum SceUdcdHidProtocol {
143  HID_PROTOCOL_MOUSE = 0x02
145 
148 #define SCE_UDCD_MAX_INTERFACES 8
149 #define SCE_UDCD_MAX_ENDPOINTS 9
150 #define SCE_UDCD_MAX_ALTERNATE 2
151 
152 typedef enum SceUdcdRetcode {
160 
163 typedef enum SceUdcdErrorCode {
181 
187 
190 typedef struct SceUdcdStringDescriptor {
191  unsigned char bLength;
192  unsigned char bDescriptorType;
193  short bString[31];
196 
199 typedef struct SCE_ALIGN(4) SceUdcdDeviceDescriptor {
200  unsigned char bLength;
201  unsigned char bDescriptorType;
202  unsigned short bcdUSB;
203  unsigned char bDeviceClass;
204  unsigned char bDeviceSubClass;
205  unsigned char bDeviceProtocol;
206  unsigned char bMaxPacketSize0;
207  unsigned short idVendor;
208  unsigned short idProduct;
209  unsigned short bcdDevice;
210  unsigned char iManufacturer;
211  unsigned char iProduct;
212  unsigned char iSerialNumber;
213  unsigned char bNumConfigurations;
216 
220  unsigned char bLength;
221  unsigned char bDescriptorType;
222  unsigned short bcdUSB;
223  unsigned char bDeviceClass;
224  unsigned char bDeviceSubClass;
225  unsigned char bDeviceProtocol;
226  unsigned char bMaxPacketSize0;
227  unsigned char bNumConfigurations;
228  unsigned char bReserved;
231 
234 typedef struct SceUdcdConfigDescriptor {
235  unsigned char bLength;
236  unsigned char bDescriptorType;
237  unsigned short wTotalLength;
238  unsigned char bNumInterfaces;
239  unsigned char bConfigurationValue;
240  unsigned char iConfiguration;
241  unsigned char bmAttributes;
242  unsigned char bMaxPower;
244  unsigned char *extra;
248 
251 typedef struct SceUdcdInterfaceSettings {
253  unsigned int alternateSetting;
254  unsigned int numDescriptors;
257 
261  unsigned char bLength;
262  unsigned char bDescriptorType;
263  unsigned char bInterfaceNumber;
264  unsigned char bAlternateSetting;
265  unsigned char bNumEndpoints;
266  unsigned char bInterfaceClass;
267  unsigned char bInterfaceSubClass;
268  unsigned char bInterfaceProtocol;
269  unsigned char iInterface;
271  unsigned char *extra;
275 
279  unsigned char bLength;
280  unsigned char bDescriptorType;
281  unsigned char bEndpointAddress;
282  unsigned char bmAttributes;
283  unsigned short wMaxPacketSize;
284  unsigned char bInterval;
285  unsigned char *extra;
289 
292 typedef struct SceUdcdInterface {
298 
301 typedef struct SceUdcdEndpoint {
302  int direction;
308 
311 typedef struct SceUdcdConfiguration {
318 
321 typedef struct SceUdcdEP0DeviceRequest {
322  unsigned char bmRequestType;
323  unsigned char bRequest;
324  unsigned short wValue;
325  unsigned short wIndex;
326  unsigned short wLength;
329 
332 typedef struct SceUdcdDriver {
333  const char *driverName;
344  int (*processRequest)(int recipient, int arg /* endpoint number or interface number */, SceUdcdEP0DeviceRequest *req, void *user_data);
345  int (*changeSetting)(int interfaceNumber, int alternateSetting, int bus);
346  int (*attach)(int usb_version, void *user_data);
347  void (*detach)(void *user_data);
348  void (*configure)(int usb_version, int desc_count, SceUdcdInterfaceSettings *settings, void *user_data);
349  int (*start)(int size, void *args, void *user_data);
350  int (*stop)(int size, void *args, void *user_data);
351  void *user_data;
352  int bus;
353  struct SceUdcdDriver *link;
354 } SceUdcdDriver;
356 
359 typedef struct SceUdcdDeviceRequest {
361  void *data;
362  unsigned int attributes;
363  int size;
365  void (*onComplete)(struct SceUdcdDeviceRequest *req);
369  void *unused;
373 
376 typedef struct SCE_ALIGN(16) SceUdcdDriverName {
377  int size;
378  char name[32];
379  int flags;
381 VITASDK_BUILD_ASSERT_EQ(((0x28 + (0x10 - 1)) & ~(0x10 - 1)), SceUdcdDriverName);
382 
391 int ksceUdcdWaitBusInitialized(unsigned int timeout, int bus);
392 
402 int ksceUdcdStart(const char *driverName, int size, void *args);
403 
414 int ksceUdcdStartInternal(const char *driverName, int size, void *args, int bus);
415 
425 
435 int ksceUdcdStop(const char *driverName, int size, void *args);
436 
447 int ksceUdcdStopInternal(const char *driverName, int size, void *args, int bus);
448 
457 
465 int ksceUdcdActivate(unsigned int productId);
466 
476 int ksceUdcdActivateInternal(unsigned int productId, unsigned int bus_powered, int bus);
477 
484 
493 
500 
509 
518 
528 
536 int ksceUdcdGetDrvState(const char *driverName);
537 
546 int ksceUdcdGetDrvStateInternal(const char *driverName, int bus);
547 
556 int ksceUdcdWaitState(SceUdcdWaitParam *waitParam, unsigned int timeout);
557 
567 int ksceUdcdWaitStateInternal(SceUdcdWaitParam *waitParam, unsigned int timeout, int bus);
568 
577 
587 
596 
606 
615 
625 
634 
643 
653 
662 
672 
681 
691 
692 #ifdef __cplusplus
693 }
694 #endif
695 
696 #endif /* _PSP2KERN_UDCD_H_ */
uint8_t unused[0xE0]
Definition: kbl.h:44
SceSize size
struct size(variable size)
Definition: debug.h:0
int flags
Event flags.
Definition: debug.h:3
unsigned char bmAttributes
Definition: udcd.h:282
SceUdcdInterfaceSettings * settings
USB driver interface settings.
Definition: udcd.h:313
int isControlRequest
Is a control request?
Definition: udcd.h:364
int ksceUdcdDeactivateInternal(int bus)
Deactivate USB driver for an UDCD bus.
SceUdcdHidProtocol
HID Interface Class Protocol Codes.
Definition: udcd.h:140
unsigned char bNumEndpoints
Definition: udcd.h:265
SceUdcdStringDescriptor * stringDescriptorProduct
Product string descriptor (iProduct has to be 2)
Definition: udcd.h:342
unsigned char bMaxPower
Definition: udcd.h:242
int ksceUdcdGetDeviceInfo(SceUdcdDeviceInfo *devInfo)
Get device information.
SceUdcdRetcode
Definition: udcd.h:152
int returnCode
Return code of the request (See SceUdcdRetcode)
Definition: udcd.h:367
struct SceUdcdInterfaceSettings * settings
Definition: udcd.h:243
SceUdcdEndpointDescriptor * endpointDescriptors
Pointer to the first endpoint descriptor.
Definition: udcd.h:315
unsigned char bDescriptorType
Definition: udcd.h:236
unsigned char bInterfaceProtocol
Definition: udcd.h:268
int(* stop)(int size, void *args, void *user_data)
Function called when the driver is stopped.
Definition: udcd.h:350
int ksceUdcdGetDeviceState(void)
Get USB state.
int endpointNumber
Endpoint number (Filled in by the bus driver)
Definition: udcd.h:304
void(* onComplete)(struct SceUdcdDeviceRequest *req)
Pointer to the function to call on completion.
Definition: udcd.h:365
int ksceUdcdGetDrvStateInternal(const char *driverName, int bus)
Get state of a specific USB driver for an UDCD bus.
int transmitted
Number of transmitted bytes.
Definition: udcd.h:366
unsigned char bInterval
Definition: udcd.h:284
struct SceUdcdDriver * link
Link to next USB driver in the chain, set to NULL.
Definition: udcd.h:353
unsigned char * extra
Extra descriptors.
Definition: udcd.h:244
void(* detach)(void *user_data)
Configuration unset (detach) function.
Definition: udcd.h:347
void * physicalAddress
Physical address.
Definition: udcd.h:370
int ksceUdcdStartInternal(const char *driverName, int size, void *args, int bus)
Start a USB driver for an UDCD bus.
unsigned char bmRequestType
Definition: udcd.h:322
SceUdcdStringDescriptor * stringDescriptors
Default string descriptors.
Definition: udcd.h:341
int ksceUdcdActivateInternal(unsigned int productId, unsigned int bus_powered, int bus)
Activate a USB driver for an UDCD bus.
short bString[31]
Definition: udcd.h:193
SceUdcdDeviceDescriptor * descriptor_hi
Pointer to hi-speed device descriptor.
Definition: udcd.h:337
unsigned int alternateSetting
Definition: udcd.h:253
int expectNumber
Expectant interface number (interface number or -1)
Definition: udcd.h:293
int extraLength
Definition: udcd.h:245
struct SceUdcdEndpointDescriptor * endpoints
Definition: udcd.h:270
int transmittedBytes
Number of transmitted bytes.
Definition: udcd.h:305
int direction
USB_ENDPOINT_IN / USB_ENDPOINT_OUT.
Definition: udcd.h:302
int ksceUdcdRegisterInternal(SceUdcdDriver *drv, int bus)
Register a USB driver to a specific USB bus.
SceUdcdConfiguration * configuration_hi
Pointer to hi-speed device configuration.
Definition: udcd.h:338
int ksceUdcdGetDeviceInfoInternal(SceUdcdDeviceInfo *devInfo, int bus)
Get device information for an UDCD bus.
SceUdcdHidRequest
Class-Specific Requests.
Definition: udcd.h:106
SceUdcdUsbDt
Enumeration for descriptor types.
Definition: udcd.h:36
unsigned char bInterfaceSubClass
Definition: udcd.h:267
int ksceUdcdStopInternal(const char *driverName, int size, void *args, int bus)
Stop a USB driver for an UDCD bus.
unsigned char bLength
Definition: udcd.h:191
unsigned char iInterface
Definition: udcd.h:269
void * user_data
User data.
Definition: udcd.h:351
unsigned char iConfiguration
Definition: udcd.h:240
unsigned int numDescriptors
Number of interface descriptors.
Definition: udcd.h:254
unsigned char bDescriptorType
Definition: udcd.h:262
SceUdcdEndpoint * endpoint
Pointer to the endpoint to queue request on.
Definition: udcd.h:360
unsigned char bLength
Definition: udcd.h:235
int numInterfaces
Number of interfaces.
Definition: udcd.h:295
int interfaceNumber
End interface.
Definition: udcd.h:294
int ksceUdcdStall(SceUdcdEndpoint *endp)
Stall an endpoint.
unsigned char * extra
Extra descriptors.
Definition: udcd.h:285
unsigned char bConfigurationValue
Definition: udcd.h:239
unsigned char bmAttributes
Definition: udcd.h:241
unsigned char bDescriptorType
Definition: udcd.h:280
unsigned char bNumInterfaces
Definition: udcd.h:238
int ksceUdcdDeactivate(void)
Deactivate USB driver.
void * unused
An unused value (maybe an argument)
Definition: udcd.h:369
unsigned short wLength
Definition: udcd.h:326
int extraLength
Definition: udcd.h:272
unsigned char bDescriptorType
Definition: udcd.h:192
unsigned int attributes
Request attributes (See SceUdcdDeviceRequestAttr)
Definition: udcd.h:362
int ksceUdcdStartCurrentInternal(int unused, int bus)
Starts the current USB driver for an UDCD bus.
void(* configure)(int usb_version, int desc_count, SceUdcdInterfaceSettings *settings, void *user_data)
Configure the device.
Definition: udcd.h:348
SceUdcdDeviceRequestAttr
SceUdcdDeviceRequest Flags.
Definition: udcd.h:184
int ksceUdcdStopCurrentInternal(int bus)
Stops the current USB driver for an UDCD bus.
int(* processRequest)(int recipient, int arg, SceUdcdEP0DeviceRequest *req, void *user_data)
Received a control request.
Definition: udcd.h:344
unsigned char bLength
Definition: udcd.h:261
int driverEndpointNumber
Driver Endpoint number (must be filled in sequentially)
Definition: udcd.h:303
int extraLength
Definition: udcd.h:286
unsigned char bInterfaceClass
Definition: udcd.h:266
SceUdcdUsbReq
Enumeration for standard requests.
Definition: udcd.h:46
struct SceUdcdDeviceRequest * next
Link pointer to next request used by the driver, set it to NULL.
Definition: udcd.h:368
unsigned char * extra
Extra descriptors.
Definition: udcd.h:271
int bus
USB bus.
Definition: udcd.h:352
int ksceUdcdReqRecv(SceUdcdDeviceRequest *req)
Queue a receive request (OUT from host pov)
unsigned short wValue
Definition: udcd.h:324
const char * driverName
Name of the USB driver.
Definition: udcd.h:333
SceUdcdErrorCode
Error codes.
Definition: udcd.h:163
int ksceUdcdGetDrvState(const char *driverName)
Get state of a specific USB driver.
int numEndpoints
Number of endpoints in this driver (including default control)
Definition: udcd.h:334
SceUdcdDriverName
Definition: udcd.h:380
unsigned short wTotalLength
Definition: udcd.h:237
int(* changeSetting)(int interfaceNumber, int alternateSetting, int bus)
Change alternate setting.
Definition: udcd.h:345
unsigned short wMaxPacketSize
Definition: udcd.h:283
SceUdcdEndpoint * endpoints
List of endpoint structures (used when calling other functions)
Definition: udcd.h:335
SceUdcdDeviceDescriptor * descriptor
Pointer to full-speed device descriptor.
Definition: udcd.h:339
struct SceUdcdInterfaceDescriptor * descriptors
Pointers to the individual interface descriptors.
Definition: udcd.h:252
int ksceUdcdGetDeviceStateInternal(int bus)
Get USB state for an UDCD bus.
int ksceUdcdWaitBusInitialized(unsigned int timeout, int bus)
Waits until an UDCD bus is initialized.
int(* start)(int size, void *args, void *user_data)
Function called when the driver is started.
Definition: udcd.h:349
SceUdcdUsbClass
Enumeration for Device and/or Interface Class codes.
Definition: udcd.h:20
SceUdcdInterface * interface
Interface list.
Definition: udcd.h:336
unsigned char bEndpointAddress
Definition: udcd.h:281
int ksceUdcdUnregister(SceUdcdDriver *drv)
Unregister a USB driver.
void * data
Pointer to the data buffer to use in the request.
Definition: udcd.h:361
unsigned char bInterfaceNumber
Definition: udcd.h:263
int(* attach)(int usb_version, void *user_data)
Configuration set (attach) function.
Definition: udcd.h:346
unsigned char bAlternateSetting
Definition: udcd.h:264
SceUdcdProtocol
Protocol Selection.
Definition: udcd.h:125
int ksceUdcdWaitStateInternal(SceUdcdWaitParam *waitParam, unsigned int timeout, int bus)
Wait for state for an UDCD bus.
int ksceUdcdUnregisterInternal(SceUdcdDriver *drv, int bus)
Unregister a USB driver for an UDCD bus.
int ksceUdcdStop(const char *driverName, int size, void *args)
Stop a USB driver.
SceUdcdConfigDescriptor * configDescriptors
Pointer to the configuration descriptors.
Definition: udcd.h:312
unsigned char bLength
Definition: udcd.h:279
int ksceUdcdRegister(SceUdcdDriver *drv)
Register a USB driver.
struct SCE_ALIGN(4) SceUdcdDeviceDescriptor
USB device descriptor.
Definition: udcd.h:199
SceUdcdStringDescriptor * stringDescriptorSerial
Serial string descriptor (iSerial has to be 3)
Definition: udcd.h:343
int ksceUdcdReqCancelAll(SceUdcdEndpoint *endp)
Cancel any pending requests on an endpoint.
int ksceUdcdClearFIFO(SceUdcdEndpoint *endp)
Clear the FIFO on an endpoint.
SceUdcdHidDescriptor
Class Descriptor Types.
Definition: udcd.h:117
int ksceUdcdStallInternal(SceUdcdEndpoint *endp, int bus)
Stall an endpoint for an UDCD bus.
SceUdcdConfiguration * configuration
Pointer to full-speed device configuration.
Definition: udcd.h:340
int ksceUdcdReqSendInternal(SceUdcdDeviceRequest *req, int bus)
Queue a send request (IN from host pov) for an UDCD bus.
SceUdcdInterfaceDescriptor * interfaceDescriptors
Pointer to the first interface descriptor.
Definition: udcd.h:314
unsigned short wIndex
Definition: udcd.h:325
int ksceUdcdWaitState(SceUdcdWaitParam *waitParam, unsigned int timeout)
Wait for state.
int ksceUdcdClearFIFOInternal(SceUdcdEndpoint *endp, int bus)
Clear the FIFO on an endpoint for an UDCD bus.
SceUdcdDeviceQualifierDescriptor
Definition: udcd.h:229
unsigned char bRequest
Definition: udcd.h:323
SceUdcdDeviceDescriptor
Definition: udcd.h:214
int size
Size of the data buffer.
Definition: udcd.h:363
int ksceUdcdActivate(unsigned int productId)
Activate a USB driver.
int ksceUdcdReqRecvInternal(SceUdcdDeviceRequest *req, int bus)
Queue a receive request (OUT from host pov) for an UDCD bus.
int ksceUdcdReqSend(SceUdcdDeviceRequest *req)
Queue a send request (IN from host pov)
int ksceUdcdStart(const char *driverName, int size, void *args)
Start a USB driver.
@ HID_PROTOCOL_KEYBOARD
Definition: udcd.h:142
@ HID_PROTOCOL_NONE
Definition: udcd.h:141
@ HID_PROTOCOL_MOUSE
Definition: udcd.h:143
@ SCE_UDCD_RETCODE_RECV
Definition: udcd.h:158
@ SCE_UDCD_RETCODE_CANCEL_TRANSMISSION
Definition: udcd.h:155
@ SCE_UDCD_RETCODE_CANCEL
Definition: udcd.h:153
@ SCE_UDCD_RETCODE_SUCCESS
Definition: udcd.h:156
@ SCE_UDCD_RETCODE_CANCEL_ALL
Definition: udcd.h:154
@ SCE_UDCD_RETCODE_SEND
Definition: udcd.h:157
@ HID_REQUEST_GET_PROTOCOL
Definition: udcd.h:109
@ HID_REQUEST_GET_IDLE
Definition: udcd.h:108
@ HID_REQUEST_GET_REPORT
Definition: udcd.h:107
@ HID_REQUEST_SET_REPORT
Definition: udcd.h:110
@ HID_REQUEST_SET_PROTOCOL
Definition: udcd.h:112
@ HID_REQUEST_SET_IDLE
Definition: udcd.h:111
@ USB_DT_ENDPOINT
Definition: udcd.h:41
@ USB_DT_CONFIG
Definition: udcd.h:38
@ USB_DT_INTERFACE
Definition: udcd.h:40
@ USB_DT_STRING
Definition: udcd.h:39
@ USB_DT_DEVICE
Definition: udcd.h:37
@ SCE_UDCD_DEVICE_REQUEST_ATTR_PHYCONT
Definition: udcd.h:185
@ USB_REQ_SET_INTERFACE
Definition: udcd.h:56
@ USB_REQ_GET_DESCRIPTOR
Definition: udcd.h:51
@ USB_REQ_SET_DESCRIPTOR
Definition: udcd.h:52
@ USB_REQ_CLEAR_FEATURE
Definition: udcd.h:48
@ USB_REQ_GET_INTERFACE
Definition: udcd.h:55
@ USB_REQ_SET_ADDRESS
Definition: udcd.h:50
@ USB_REQ_SYNC_FRAME
Definition: udcd.h:57
@ USB_REQ_GET_STATUS
Definition: udcd.h:47
@ USB_REQ_GET_CONFIG
Definition: udcd.h:53
@ USB_REQ_SET_FEATURE
Definition: udcd.h:49
@ USB_REQ_SET_CONFIG
Definition: udcd.h:54
@ SCE_UDCD_ERROR_USBDRIVER_INVALID_NAME
Definition: udcd.h:178
@ SCE_UDCD_ERROR_WAIT_TIMEOUT
Definition: udcd.h:175
@ SCE_UDCD_ERROR_MEMORY_EXHAUSTED
Definition: udcd.h:171
@ SCE_UDCD_ERROR_DRIVER_IN_PROGRESS
Definition: udcd.h:173
@ SCE_UDCD_ERROR_USBDRIVER_INVALID_FUNCS
Definition: udcd.h:179
@ SCE_UDCD_ERROR_USBDRIVER_INVALID_DRIVER
Definition: udcd.h:177
@ SCE_UDCD_ERROR_INVALID_ARGUMENT
Definition: udcd.h:169
@ SCE_UDCD_ERROR_WAIT_CANCEL
Definition: udcd.h:176
@ SCE_UDCD_ERROR_INVALID_POINTER
Definition: udcd.h:165
@ SCE_UDCD_ERROR_DRIVER_NOT_FOUND
Definition: udcd.h:172
@ SCE_UDCD_ERROR_INVALID_FLAG
Definition: udcd.h:166
@ SCE_UDCD_ERROR_ARGUMENT_EXCEEDED_LIMIT
Definition: udcd.h:170
@ SCE_UDCD_ERROR_ILLEGAL_CONTEXT
Definition: udcd.h:164
@ SCE_UDCD_ERROR_INVALID_VALUE
Definition: udcd.h:167
@ SCE_UDCD_ERROR_ALREADY_DONE
Definition: udcd.h:168
@ SCE_UDCD_ERROR_BUS_DRIVER_NOT_STARTED
Definition: udcd.h:174
@ USB_CLASS_AUDIO
Definition: udcd.h:22
@ USB_CLASS_VIDEO
Definition: udcd.h:30
@ USB_CLASS_HID
Definition: udcd.h:24
@ USB_CLASS_DATA
Definition: udcd.h:29
@ USB_CLASS_PTP
Definition: udcd.h:25
@ USB_CLASS_PRINTER
Definition: udcd.h:26
@ USB_CLASS_COMM
Definition: udcd.h:23
@ USB_CLASS_PER_INTERFACE
for DeviceClass
Definition: udcd.h:21
@ USB_CLASS_HUB
Definition: udcd.h:28
@ USB_CLASS_VENDOR_SPEC
Definition: udcd.h:31
@ USB_CLASS_MASS_STORAGE
Definition: udcd.h:27
@ BOOT_PROTOCOL
Definition: udcd.h:126
@ RPT_PROTOCOL
Definition: udcd.h:127
@ HID_DESCRIPTOR_HID
Definition: udcd.h:118
@ HID_DESRIPTOR_PHY
Definition: udcd.h:120
@ HID_DESCRIPTOR_REPORT
Definition: udcd.h:119
USB configuration descriptor.
Definition: udcd.h:234
USB driver configuration.
Definition: udcd.h:311
Definition: udcd.h:37
USB device request.
Definition: udcd.h:359
USB driver structure.
Definition: udcd.h:332
USB EP0 Device Request.
Definition: udcd.h:321
USB driver endpoint.
Definition: udcd.h:301
USB endpoint descriptor.
Definition: udcd.h:278
USB driver interface.
Definition: udcd.h:292
USB Interface descriptor.
Definition: udcd.h:260
USB driver interfaces structure.
Definition: udcd.h:251
USB string descriptor.
Definition: udcd.h:190
Definition: udcd.h:42
VITASDK_BUILD_ASSERT_EQ(0x18, SceUdcdDeviceState)