Difference between revisions of "SceUsbDevSerial"
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 11: | Line 11: | ||
! Version !! World !! Privilege | ! Version !! World !! Privilege | ||
|- | |- | ||
− | | 0. | + | | 0.990-3.60 || Non-secure || Kernel |
|} | |} | ||
Line 22: | Line 22: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
− | | 0. | + | | 0.990-3.60 || [[SceUsbDevSerial#SceUsbDevSerial|SceUsbDevSerial]] || Non-secure || User || 0x125C67C7 |
|} | |} | ||
Line 35: | Line 35: | ||
|} | |} | ||
− | <source lang=" | + | <source lang="C">int SceUsbDevSerial_4437FF2D(void *pIn, SceSize size);</source> |
− | |||
− | </source> | ||
=== SceUsbDevSerial_57FBB08C === | === SceUsbDevSerial_57FBB08C === | ||
Line 47: | Line 45: | ||
|} | |} | ||
− | <source lang=" | + | <source lang="C">int SceUsbDevSerial_57FBB08C(void *pOut, SceSize *size);</source> |
− | |||
− | </source> | ||
=== SceUsbDevSerial_6F2B3960 === | === SceUsbDevSerial_6F2B3960 === | ||
Line 59: | Line 55: | ||
|} | |} | ||
− | <source lang=" | + | <source lang="C">int SceUsbDevSerial_6F2B3960(void);</source> |
− | |||
− | </source> | ||
=== SceUsbDevSerial_918D359E === | === SceUsbDevSerial_918D359E === | ||
Line 71: | Line 65: | ||
|} | |} | ||
− | <source lang=" | + | <source lang="C"> |
− | + | // version: on FW 3.60, it must be 0x3517008 or 0x3517001 | |
− | </source> | + | // value: anything different than 0 |
+ | // value_size: must be 4 | ||
+ | int SceUsbDevSerial_918D359E(SceUInt32 version, SceUInt32 value, SceSize value_size);</source> | ||
=== sceUsbDevSerialFinalize === | === sceUsbDevSerialFinalize === | ||
Line 83: | Line 79: | ||
|} | |} | ||
− | <source lang=" | + | <source lang="C"> |
/** | /** | ||
* Stops USB Dev Serial device | * Stops USB Dev Serial device | ||
Line 90: | Line 86: | ||
</source> | </source> | ||
− | <source lang=" | + | <source lang="C"> |
sceUdcdDeactivateToBusForDriver(2); | sceUdcdDeactivateToBusForDriver(2); | ||
sceUdcdStopToBusForDriver("USBSerialDriver", 0, 0, 2); | sceUdcdStopToBusForDriver("USBSerialDriver", 0, 0, 2); | ||
Line 104: | Line 100: | ||
|} | |} | ||
− | Calls sceUdcdGetDeviceStateInternalForDriver( | + | Calls [[SceUdcd#sceUdcdGetDeviceStateInternalForDriver]](2). |
− | <source lang=" | + | <source lang="C">sceUsbDevSerialGetDeviceState(void);</source> |
=== sceUsbDevSerialInit === | === sceUsbDevSerialInit === | ||
Line 116: | Line 112: | ||
|} | |} | ||
− | <source lang=" | + | Reversed code: |
+ | <source lang="C"> | ||
+ | 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; | ||
+ | } | ||
+ | </source> | ||
+ | |||
+ | <source lang="C"> | ||
/** | /** | ||
− | * Initialize USB Dev | + | * Initialize USB Dev Serial device |
* | * | ||
+ | * bus: Must be 0 or 1. | ||
+ | * | ||
* @return 0 on success, < 0 on error | * @return 0 on success, < 0 on error | ||
*/ | */ | ||
− | int sceUsbDevSerialInit( | + | int sceUsbDevSerialInit(SceUInt32 bus); |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</source> | </source> | ||
Line 149: | Line 152: | ||
|} | |} | ||
− | <source lang=" | + | <source lang="C">int SceUsbDevSerial_F0C3F3D4(void);</source> |
− | |||
− | </source> | ||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category:Kernel]] | [[Category:Kernel]] |
Revision as of 23:02, 30 January 2022
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 *size);
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 |
/**
* Stops USB Dev Serial device
*/
int sceUsbDevSerialFinalize(void);
sceUdcdDeactivateToBusForDriver(2);
sceUdcdStopToBusForDriver("USBSerialDriver", 0, 0, 2);
sceUdcdStopToBusForDriver("USBDeviceControllerDriver", 0, 0, 2);
sceUsbDevSerialGetDeviceState
Version | NID |
---|---|
0.990-3.60 | 0xC0FDECAF |
Calls SceUdcd#sceUdcdGetDeviceStateInternalForDriver(2).
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);