SceUsbDevSerial: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
No edit summary |
||
(One intermediate revision by one other user not shown) | |||
Line 45: | Line 45: | ||
|} | |} | ||
<source lang="C">int SceUsbDevSerial_57FBB08C(void *pOut, SceSize * | <source lang="C">int SceUsbDevSerial_57FBB08C(void *pOut, SceSize *puiSize);</source> | ||
=== SceUsbDevSerial_6F2B3960 === | === SceUsbDevSerial_6F2B3960 === | ||
Line 155: | Line 155: | ||
<source lang="C">int SceUsbDevSerial_F0C3F3D4(void);</source> | <source lang="C">int SceUsbDevSerial_F0C3F3D4(void);</source> | ||
[[Category:ARM]] | |||
[[Category:Kernel]] | |||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category: | [[Category:Library]] |
Latest revision as of 21:36, 1 May 2023
Module
A simplified and internal development version of SceUsbSerial:
- Does not check SceSblACMgrForDriver for processes capabilities.
- Does not check sceIdStorageLookupForDriver(0x112, 0, /*s_data_81003184*/ "", 0x40); (might be Driver name similarly to PSP IdStorage)
This module exists only in Non-secure world. The SELF can be found in os0:kd/usbdev_serial.skprx
.
Version | World | Privilege |
---|---|---|
0.990-3.60 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.990-3.60 | SceUsbDevSerial | Non-secure | User | 0x125C67C7 |
SceUsbDevSerial
SceUsbDevSerial_4437FF2D
Version | NID |
---|---|
3.60 | 0x4437FF2D |
int SceUsbDevSerial_4437FF2D(void *pIn, SceSize size);
SceUsbDevSerial_57FBB08C
Version | NID |
---|---|
3.60 | 0x57FBB08C |
int SceUsbDevSerial_57FBB08C(void *pOut, SceSize *puiSize);
SceUsbDevSerial_6F2B3960
Version | NID |
---|---|
3.60 | 0x6F2B3960 |
int SceUsbDevSerial_6F2B3960(void);
SceUsbDevSerial_918D359E
Version | NID |
---|---|
3.60 | 0x918D359E |
// version: on FW 3.60, it must be 0x3517008 or 0x3517001 // value: anything different than 0 // value_size: must be 4 int SceUsbDevSerial_918D359E(SceUInt32 version, SceUInt32 value, SceSize value_size);
sceUsbDevSerialFinalize
Version | NID |
---|---|
0.990-3.60 | 0x9F497D4E |
Reversed code:
sceUdcdDeactivateInternalForDriver(2); sceUdcdStopInternalForDriver("USBSerialDriver", 0, 0, 2); sceUdcdStopInternalForDriver("USBDeviceControllerDriver", 0, 0, 2);
/** * Stops USB Dev Serial device */ int sceUsbDevSerialFinalize(void);
sceUsbDevSerialGetDeviceState
Version | NID |
---|---|
0.990-3.60 | 0xC0FDECAF |
Calls SceUdcd#sceUdcdGetDeviceStateInternalForDriver(2).
int sceUsbDevSerialGetDeviceState(void);
sceUsbDevSerialInit
Version | NID |
---|---|
0.990-3.60 | 0xDAE5C362 |
Reversed code:
int sceUsbDevSerialInit(SceUInt32 bus) { int ret = 0; if (bus >= 2) return 0x80243300; ret = sceUdcdStartInternalForDriver("USBDeviceControllerDriver", 0, 0, 2)); if (ret != 0) return ret; ret = sceUdcdStartInternalForDriver("USBSerialDriver", 0, 0, 2); if (ret != 0) { sceUdcdStopInternalForDriver("USBDeviceControllerDriver", 0, 0, 2); return ret; } ret = sceUdcdActivateInternalForDriver(0xFFFF, bus); if (ret != 0) sceUdcdStopInternalForDriver("USBSerialDriver", 0, 0, 2); return ret; }
/** * Initialize USB Dev Serial device * * bus: Must be 0 or 1. * * @return 0 on success, < 0 on error */ int sceUsbDevSerialInit(SceUInt32 bus);
SceUsbDevSerial_F0C3F3D4
Version | NID |
---|---|
3.60 | 0xF0C3F3D4 |
int SceUsbDevSerial_F0C3F3D4(void);