Add sceUsbdClose
[ps4-sdk.git] / source / usb.c
blob3c35f429f6eb0174d6f3eaf59a1126cdab56f95a
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);
16 void (*sceUsbdClose)(libusb_device_handle *devh);
18 int (*sceUsbdSetInterfaceAltSetting)(libusb_device_handle *dev, int interface_number, int alternate_setting);
19 int (*sceUsbdClearHalt)(libusb_device_handle *devh, unsigned char endpoint);
20 int (*sceUsbdResetDevice)(libusb_device_handle *devh);
21 int (*sceUsbdCheckConnected)(libusb_device_handle *devh);
23 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);
24 int (*sceUsbdBulkTransfer)(struct libusb_device_handle *devh, unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout);
25 int (*sceUsbdInterruptTransfer)(struct libusb_device_handle *devh, unsigned char endpoint, unsigned char *data, int length, int *transferred, unsigned int timeout);
27 int (*sceUsbdGetActiveConfigDescriptor)(libusb_device *dev, struct libusb_config_descriptor **config);
28 int (*sceUsbdGetConfigDescriptor)(libusb_device *dev, uint8_t config_index, struct libusb_config_descriptor **config);
29 int (*sceUsbdGetConfigDescriptorByValue)(libusb_device *dev, uint8_t bConfigurationValue, struct libusb_config_descriptor **config);
30 void (*sceUsbdFreeConfigDescriptor)(struct libusb_config_descriptor *config);
32 void initUsb(void) {
33 int libUsb = sceKernelLoadStartModule("libSceUsbd.sprx", 0, NULL, 0, 0, 0);
35 RESOLVE(libUsb, sceUsbdInit);
36 RESOLVE(libUsb, sceUsbdExit);
38 RESOLVE(libUsb, sceUsbdGetDeviceList);
39 RESOLVE(libUsb, sceUsbdFreeDeviceList);
41 RESOLVE(libUsb, sceUsbdGetDeviceDescriptor);
43 RESOLVE(libUsb, sceUsbdOpen);
44 RESOLVE(libUsb, sceUsbdOpenDeviceWithVidPid);
45 RESOLVE(libUsb, sceUsbdClose);
47 RESOLVE(libUsb, sceUsbdSetInterfaceAltSetting);
48 RESOLVE(libUsb, sceUsbdClearHalt);
49 RESOLVE(libUsb, sceUsbdResetDevice);
50 RESOLVE(libUsb, sceUsbdCheckConnected);
52 RESOLVE(libUsb, sceUsbdControlTransfer);
53 RESOLVE(libUsb, sceUsbdBulkTransfer);
54 RESOLVE(libUsb, sceUsbdInterruptTransfer);
56 RESOLVE(libUsb, sceUsbdGetActiveConfigDescriptor);
57 RESOLVE(libUsb, sceUsbdGetConfigDescriptor);
58 RESOLVE(libUsb, sceUsbdGetConfigDescriptorByValue);
59 RESOLVE(libUsb, sceUsbdFreeConfigDescriptor);