Advertisement
xerpi

SceUdcd driver skeleton

Jan 5th, 2017
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.69 KB | None | 0 0
  1. static struct SceUdcdDriver usb_driver = {
  2.     .driverName     = USB_DRIVERNAME,
  3.     .numEndpoints       = 2,
  4.     .endpoints      = endpoints,
  5.     .interface      = interfaces,
  6.     .descriptor_hi      = &devdesc_hi,
  7.     .configuration_hi   = &config_hi,
  8.     .descriptor     = &devdesc_hi,
  9.     .configuration      = &config_hi,
  10.     .stringDescriptorsUnk0  = descriptors,
  11.     .stringDescriptorsUnk1  = NULL,
  12.     .stringDescriptorsUnk2  = NULL,
  13.     .processRequest     = usb_driver_process_request,
  14.     .changeSetting      = usb_driver_change_setting,
  15.     .attach         = usb_driver_attach,
  16.     .detach         = usb_driver_detach,
  17.     .configure      = usb_driver_configure,
  18.     .start          = usb_driver_start,
  19.     .stop           = usb_driver_stop,
  20.     .unk1           = 0,
  21.     .unk2           = 0,
  22.     .link           = NULL
  23. };
  24.  
  25. int module_start(SceSize argc, const void *args)
  26. {
  27.     /* Register our driver */
  28.     ksceUdcdRegister(&usb_driver);
  29.  
  30.     /* Deactivate USB */
  31.     ksceUdcdDeactivate();
  32.  
  33.     /* Stop drivers */
  34.     ksceUdcdStop("USB_MTP_Driver", 0, NULL);
  35.     ksceUdcdStop("USBPSPCommunicationDriver", 0, NULL);
  36.     ksceUdcdStop("USBSerDriver", 0, NULL);
  37.     ksceUdcdStop("USBDeviceControllerDriver", 0, NULL);
  38.  
  39.     /* Start USBDeviceControllerDriver */
  40.     ksceUdcdStart("USBDeviceControllerDriver", 0, NULL);
  41.  
  42.     /* Start our driver */
  43.     ksceUdcdStart(USB_DRIVERNAME, 0, NULL);
  44.  
  45.     /* Activate our driver with PID 0x1337 */
  46.     ksceUdcdActivate(0x1337);
  47.  
  48.     return SCE_KERNEL_START_SUCCESS;
  49. }
  50.  
  51. int module_stop(SceSize argc, const void *args)
  52. {
  53.     /* Deactivate USB */
  54.     ksceUdcdDeactivate();
  55.  
  56.     /* Stop our driver */
  57.     ksceUdcdStop(USB_DRIVERNAME, 0, NULL);
  58.  
  59.     /* Stop USBDeviceControllerDriver */
  60.     ksceUdcdStop("USBDeviceControllerDriver", 0, NULL);
  61.  
  62.     /* Unegister our driver */
  63.     ksceUdcdUnregister(&usb_driver);
  64.  
  65.     return SCE_KERNEL_STOP_SUCCESS;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement