Fix module loading
[ps4-sdk.git] / source / usb.c
blobb7f7d93e9b9210cdc21fbfcb9b4e3cfbef1c858e
1 #include "kernel.h"
2 #include "module.h"
4 #include "usb.h"
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);
31 void initUsb(void) {
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);