6 int (*sceUsbdInit
)(void);
7 void (*sceUsbdExit
)(void);
9 ssize_t (*sceUsbdGetDeviceList
)(libusb_device
***list
);
10 void (*sceUsbdFreeDeviceList
)(libusb_device
**list
, int unrefDevices
);
12 int (*sceUsbdGetDeviceDescriptor
)(libusb_device
*device
, libusb_device_descriptor
*desc
);
14 int (*sceUsbdOpen
)(libusb_device
*dev
, libusb_device_handle
**devh
);
15 libusb_device_handle
*(*sceUsbdOpenDeviceWithVidPid
)(unsigned short vendorId
, unsigned short productId
);
17 int (*sceUsbdSetInterfaceAltSetting
)(libusb_device_handle
*dev
, int interface_number
, int alternate_setting
);
18 int (*sceUsbdClearHalt
)(libusb_device_handle
*devh
, unsigned char endpoint
);
19 int (*sceUsbdResetDevice
)(libusb_device_handle
*devh
);
20 int (*sceUsbdCheckConnected
)(libusb_device_handle
*devh
);
22 int (*sceUsbdControlTransfer
)(libusb_device_handle
*devh
, uint8_t bmRequestType
, uint8_t bRequest
, uint16_t wValue
, uint16_t wIndex
, unsigned char *data
, uint16_t wLength
, unsigned int timeout
);
23 int (*sceUsbdBulkTransfer
)(struct libusb_device_handle
*devh
, unsigned char endpoint
, unsigned char *data
, int length
, int *transferred
, unsigned int timeout
);
24 int (*sceUsbdInterruptTransfer
)(struct libusb_device_handle
*devh
, unsigned char endpoint
, unsigned char *data
, int length
, int *transferred
, unsigned int timeout
);
26 int (*sceUsbdGetActiveConfigDescriptor
)(libusb_device
*dev
, struct libusb_config_descriptor
**config
);
27 int (*sceUsbdGetConfigDescriptor
)(libusb_device
*dev
, uint8_t config_index
, struct libusb_config_descriptor
**config
);
28 int (*sceUsbdGetConfigDescriptorByValue
)(libusb_device
*dev
, uint8_t bConfigurationValue
, struct libusb_config_descriptor
**config
);
29 void (*sceUsbdFreeConfigDescriptor
)(struct libusb_config_descriptor
*config
);
32 int libUsb
= sceKernelLoadStartModule("libSceUsbd.sprx", 0, NULL
, 0, 0, 0);
34 RESOLVE(libUsb
, sceUsbdInit
);
35 RESOLVE(libUsb
, sceUsbdExit
);
37 RESOLVE(libUsb
, sceUsbdGetDeviceList
);
38 RESOLVE(libUsb
, sceUsbdFreeDeviceList
);
40 RESOLVE(libUsb
, sceUsbdGetDeviceDescriptor
);
42 RESOLVE(libUsb
, sceUsbdOpen
);
43 RESOLVE(libUsb
, sceUsbdOpenDeviceWithVidPid
);
45 RESOLVE(libUsb
, sceUsbdSetInterfaceAltSetting
);
46 RESOLVE(libUsb
, sceUsbdClearHalt
);
47 RESOLVE(libUsb
, sceUsbdResetDevice
);
48 RESOLVE(libUsb
, sceUsbdCheckConnected
);
50 RESOLVE(libUsb
, sceUsbdControlTransfer
);
51 RESOLVE(libUsb
, sceUsbdBulkTransfer
);
52 RESOLVE(libUsb
, sceUsbdInterruptTransfer
);
54 RESOLVE(libUsb
, sceUsbdGetActiveConfigDescriptor
);
55 RESOLVE(libUsb
, sceUsbdGetConfigDescriptor
);
56 RESOLVE(libUsb
, sceUsbdGetConfigDescriptorByValue
);
57 RESOLVE(libUsb
, sceUsbdFreeConfigDescriptor
);