SceUsbd: Difference between revisions

From Vita Development Wiki
Jump to navigation Jump to search
(Swapped Module <-> Library, see revision 1.1 under "Revision History" of "Vita SDK specifications" (https://wiki.henkaku.xyz/vita/File:Vita_SDK_specifications.pdf))
No edit summary
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Module ==
== Module ==


=== Known NIDs ===
{| class="wikitable"
{| class="wikitable"
|-
|-
! Version !! Name !! World !! Privilege !! NID
! Version !! World !! Privilege
|-
|-
| 1.69 || SceUsbd || Non-secure || Kernel || 0x2AAC558D
| 0.990-3.60 || Non-secure || Kernel
|}
|}


Line 17: Line 16:
! Version !! Name !! World !! Visibility !! NID
! Version !! Name !! World !! Visibility !! NID
|-
|-
| 1.69 || [[SceUsbd#SceUsbdForUser|SceUsbdForUser]] || Non-secure || User || 0xC3AEAB67
| 0.990-3.74 || [[SceUsbd#SceUsbdForUser|SceUsbdForUser]] || Non-secure || User || 0xC3AEAB67
|-
|-
| 1.69 || [[SceUsbd#SceUsbdForDriver|SceUsbdForDriver]] || Non-secure || Kernel || 0xA0EBCA41
| 0.990-3.74 || [[SceUsbd#SceUsbdForDriver|SceUsbdForDriver]] || Non-secure || Kernel || 0xA0EBCA41
|}
|}
== Types ==
<source lang="C">
typedef struct SceUsbdDriver {
        const char *name;
        int (*probe)(int device_id);
        int (*attach)(int device_id);
        int (*detach)(int device_id);
} SceUsbdDriver;
typedef struct SceUsbdCompositeDriver {
        const char *name;
        int (*probe)(int device_id, int* unk1);
        int (*attach)(int device_id);
        int (*detach)(int device_id);
} SceUsbdCompositeDriver;
</source>


== SceUsbdForUser ==
== SceUsbdForUser ==
=== sceUsbdRegisterCallbackForUser ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990-3.00 || not present
|-
| 3.01-3.74 || 0x9A820167
|}
=== sceUsbdUnregisterCallbackForUser ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990-3.00 || not present
|-
| 3.01-3.74 || 0x0585EA80
|}


=== sceUsbdReceiveEventForUser ===
=== sceUsbdReceiveEventForUser ===
Line 29: Line 67:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x16FEE05D
| 0.990-3.74 || 0x16FEE05D
|}
|}
=== sceUsbdRegisterCompositeLddForUser ===
=== sceUsbdRegisterCompositeLddForUser ===
{| class="wikitable"
{| class="wikitable"
Line 36: Line 75:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x2A7C0263
| 0.990-3.74 || 0x2A7C0263
|}
|}
=== sceUsbdGetDeviceListForUser ===
=== sceUsbdGetDeviceListForUser ===
{| class="wikitable"
{| class="wikitable"
Line 43: Line 83:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x2DE0239E
| 0.990-3.74 || 0x2DE0239E
|}
|}
=== sceUsbdUnregisterLddForUser ===
=== sceUsbdUnregisterLddForUser ===
{| class="wikitable"
{| class="wikitable"
Line 50: Line 91:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x473692CC
| 0.990-3.74 || 0x473692CC
|}
|}
=== sceUsbdOpenDefaultPipeForUser ===
=== sceUsbdOpenDefaultPipeForUser ===
{| class="wikitable"
{| class="wikitable"
Line 57: Line 99:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x4A26DDCC
| 0.990-3.74 || 0x4A26DDCC
|}
|}
=== sceUsbdEndForUser ===
=== sceUsbdEndForUser ===
{| class="wikitable"
{| class="wikitable"
Line 64: Line 107:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x5736A150
| 0.990-3.74 || 0x5736A150
|}
|}
=== sceUsbdIsochTransferDataForUser ===
=== sceUsbdIsochTransferDataForUser ===
{| class="wikitable"
{| class="wikitable"
Line 71: Line 115:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x594D82FD
| 0.990-3.74 || 0x594D82FD
|}
|}
=== sceUsbdRegisterLddForUser ===
=== sceUsbdRegisterLddForUser ===
{| class="wikitable"
{| class="wikitable"
Line 78: Line 123:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x6AD28166
| 0.990-3.74 || 0x6AD28166
|}
|}
=== sceUsbdGetDeviceSpeedForUser ===
=== sceUsbdGetDeviceSpeedForUser ===
{| class="wikitable"
{| class="wikitable"
Line 85: Line 131:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x6C5AACD0
| 0.990-3.74 || 0x6C5AACD0
|}
|}
=== sceUsbdTransferDataForUser ===
=== sceUsbdTransferDataForUser ===
{| class="wikitable"
{| class="wikitable"
Line 92: Line 139:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x716048C1
| 0.990-3.74 || 0x716048C1
|}
|}
=== sceUsbdInitForUser ===
=== sceUsbdInitForUser ===
{| class="wikitable"
{| class="wikitable"
Line 99: Line 147:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0x77D58B31
| 0.990-3.74 || 0x77D58B31
|}
|}
=== sceUsbdGetIsochTransferStatusForUser ===
=== sceUsbdGetIsochTransferStatusForUser ===
{| class="wikitable"
{| class="wikitable"
Line 106: Line 155:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xA0A2C826
| 0.990-3.74 || 0xA0A2C826
|}
|}
=== sceUsbdClosePipeForUser ===
=== sceUsbdClosePipeForUser ===
{| class="wikitable"
{| class="wikitable"
Line 113: Line 163:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xAA3AF5D5
| 0.990-3.74 || 0xAA3AF5D5
|}
|}
=== sceUsbdGetDescriptorForUser ===
=== sceUsbdGetDescriptorForUser ===
{| class="wikitable"
{| class="wikitable"
Line 120: Line 171:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xAE671F22
| 0.990-3.74 || 0xAE671F22
|}
|}
=== sceUsbdGetDescriptorSizeForUser ===
=== sceUsbdGetDescriptorSizeForUser ===
{| class="wikitable"
{| class="wikitable"
Line 127: Line 179:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xB357AC81
| 0.990-3.74 || 0xB357AC81
|}
|}
=== sceUsbdGetDeviceLocationForUser ===
=== sceUsbdGetDeviceLocationForUser ===
{| class="wikitable"
{| class="wikitable"
Line 134: Line 187:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xC54F9D11
| 0.990-3.74 || 0xC54F9D11
|}
|}
=== sceUsbdAttachCompositeLddForUser ===
=== sceUsbdAttachCompositeLddForUser ===
{| class="wikitable"
{| class="wikitable"
Line 141: Line 195:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xCA8F2F59
| 0.990-3.74 || 0xCA8F2F59
|}
|}
=== sceUsbdGetTransferStatusForUser ===
=== sceUsbdGetTransferStatusForUser ===
{| class="wikitable"
{| class="wikitable"
Line 148: Line 203:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xCDF5B6E0
| 0.990-3.74 || 0xCDF5B6E0
|}
|}
=== sceUsbdResetDeviceForUser ===
=== sceUsbdResetDeviceForUser ===
{| class="wikitable"
{| class="wikitable"
Line 155: Line 211:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xDEB3BE59
| 0.990-3.74 || 0xDEB3BE59
|}
|}
=== sceUsbdAttachForUser ===
=== sceUsbdAttachForUser ===
{| class="wikitable"
{| class="wikitable"
Line 162: Line 219:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xEACEAE86
| 0.990-3.74 || 0xEACEAE86
|}
|}
=== sceUsbdOpenPipeForUser ===
=== sceUsbdOpenPipeForUser ===
{| class="wikitable"
{| class="wikitable"
Line 169: Line 227:
! Version !! NID
! Version !! NID
|-
|-
| 1.69 || 0xF94521A6
| 0.990-3.74 || 0xF94521A6
|}
|}
== SceUsbdForDriver ==
== SceUsbdForDriver ==


=== sceUsbdSuspendForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x3EBF5FFE
|}
=== sceUsbdGetDescriptorForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0xBC3EF82B
|}
=== sceUsbdRegisterCompositeLddForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x6E53D7F4
|}
<source lang="C">int sceUsbdRegisterCompositeLddForDriver(const SceUsbdCompositeDriver *driver);</source>
=== sceUsbdRegisterDriverForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x1EC94F18
|}
<source lang="C">int sceUsbdRegisterDriverForDriver(const SceUsbdDriver *driver);</source>
=== sceUsbdUnregisterDriverForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x216F108D
|}
<source lang="C">int sceUsbdUnregisterDriverForDriver(const SceUsbdDriver *driver);</source>
=== sceUsbdSuspendPhase2ForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990-3.01 || not present
|-
| 3.10-3.74 || 0xD7AA730D
|}
=== sceUsbdOpenEndpointForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x1CDBFF9F
|}
=== sceUsbdCloseEndpointForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0xF304DC5C
|}
=== sceUsbdControlTransferForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x2E05660F
|}
=== sceUsbdInterruptTransferForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0xA0BF85B8
|}
=== SceUsbdForDriver_05073925 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990-3.74 || 0x05073925
|}
=== sceUsbdGetBusNumberForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x0E73D253
|}
This is a guessed name.
<source lang="C">int sceUsbdGetDeviceLocationForDriver(int device_id, uint8_t *port);</source>
=== sceUsbdResumeForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x206634F9
|}
=== SceUsbdForDriver_2249BF99 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x2249BF99
|}
=== SceUsbdForDriver_235C094A ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x235C094A
|}
=== sceUsbdHostStopForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x3C3396BB
|}
<source lang="C">int sceUsbdHostStopForDriver(int port);</source>
=== SceUsbdForDriver_470D5289 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990-3.74 || 0x470D5289
|}
=== sceUsbdHostStartForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x5E301E18
|}
<source lang="C">int sceUsbdHostStartForDriver(int port);</source>
=== sceUsbdUnregisterCompositeLDDForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0x5E301E18
|}
This is a guessed name.
<source lang="C">int sceUsbdUnregisterCompositeLDDForDriver(const SceUsbdCompositeDriver *driver);</source>
=== SceUsbdForDriver_7938DAC7 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.01 || not present
|-
| 3.10-3.74 || 0x7938DAC7
|}
=== sceUsbdGetDeviceSpeedForDriver ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940-3.74 || 0xC3BECF5F
|}
This is a guessed name.
<source lang="C">sceUsbdGetDeviceSpeedForDriver(int device_id, uint8_t *speed);</source>
=== SceUsbdForDriver_CE9353D8 ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940 || 0xCE9353D8
|-
| 0.990-3.74 || not present
|}
=== SceUsbdForDriver_DB8ADCDF ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.940 || 0xDB8ADCDF
|-
| 0.990-3.74 || not present
|}
[[Category:ARM]]
[[Category:Kernel]]
[[Category:Modules]]
[[Category:Modules]]
[[Category:Kernel]]
[[Category:Library]]

Latest revision as of 21:39, 1 May 2023

Module

Version World Privilege
0.990-3.60 Non-secure Kernel

Libraries

Known NIDs

Version Name World Visibility NID
0.990-3.74 SceUsbdForUser Non-secure User 0xC3AEAB67
0.990-3.74 SceUsbdForDriver Non-secure Kernel 0xA0EBCA41

Types

typedef struct SceUsbdDriver {
        const char *name;
        int (*probe)(int device_id);
        int (*attach)(int device_id);
        int (*detach)(int device_id);
} SceUsbdDriver;

typedef struct SceUsbdCompositeDriver {
        const char *name;
        int (*probe)(int device_id, int* unk1);
        int (*attach)(int device_id);
        int (*detach)(int device_id);
} SceUsbdCompositeDriver;

SceUsbdForUser

sceUsbdRegisterCallbackForUser

Version NID
0.990-3.00 not present
3.01-3.74 0x9A820167

sceUsbdUnregisterCallbackForUser

Version NID
0.990-3.00 not present
3.01-3.74 0x0585EA80

sceUsbdReceiveEventForUser

Version NID
0.990-3.74 0x16FEE05D

sceUsbdRegisterCompositeLddForUser

Version NID
0.990-3.74 0x2A7C0263

sceUsbdGetDeviceListForUser

Version NID
0.990-3.74 0x2DE0239E

sceUsbdUnregisterLddForUser

Version NID
0.990-3.74 0x473692CC

sceUsbdOpenDefaultPipeForUser

Version NID
0.990-3.74 0x4A26DDCC

sceUsbdEndForUser

Version NID
0.990-3.74 0x5736A150

sceUsbdIsochTransferDataForUser

Version NID
0.990-3.74 0x594D82FD

sceUsbdRegisterLddForUser

Version NID
0.990-3.74 0x6AD28166

sceUsbdGetDeviceSpeedForUser

Version NID
0.990-3.74 0x6C5AACD0

sceUsbdTransferDataForUser

Version NID
0.990-3.74 0x716048C1

sceUsbdInitForUser

Version NID
0.990-3.74 0x77D58B31

sceUsbdGetIsochTransferStatusForUser

Version NID
0.990-3.74 0xA0A2C826

sceUsbdClosePipeForUser

Version NID
0.990-3.74 0xAA3AF5D5

sceUsbdGetDescriptorForUser

Version NID
0.990-3.74 0xAE671F22

sceUsbdGetDescriptorSizeForUser

Version NID
0.990-3.74 0xB357AC81

sceUsbdGetDeviceLocationForUser

Version NID
0.990-3.74 0xC54F9D11

sceUsbdAttachCompositeLddForUser

Version NID
0.990-3.74 0xCA8F2F59

sceUsbdGetTransferStatusForUser

Version NID
0.990-3.74 0xCDF5B6E0

sceUsbdResetDeviceForUser

Version NID
0.990-3.74 0xDEB3BE59

sceUsbdAttachForUser

Version NID
0.990-3.74 0xEACEAE86

sceUsbdOpenPipeForUser

Version NID
0.990-3.74 0xF94521A6

SceUsbdForDriver

sceUsbdSuspendForDriver

Version NID
0.940-3.74 0x3EBF5FFE

sceUsbdGetDescriptorForDriver

Version NID
0.940-3.74 0xBC3EF82B

sceUsbdRegisterCompositeLddForDriver

Version NID
0.940-3.74 0x6E53D7F4
int sceUsbdRegisterCompositeLddForDriver(const SceUsbdCompositeDriver *driver);

sceUsbdRegisterDriverForDriver

Version NID
0.940-3.74 0x1EC94F18
int sceUsbdRegisterDriverForDriver(const SceUsbdDriver *driver);

sceUsbdUnregisterDriverForDriver

Version NID
0.940-3.74 0x216F108D
int sceUsbdUnregisterDriverForDriver(const SceUsbdDriver *driver);

sceUsbdSuspendPhase2ForDriver

Version NID
0.990-3.01 not present
3.10-3.74 0xD7AA730D

sceUsbdOpenEndpointForDriver

Version NID
0.940-3.74 0x1CDBFF9F

sceUsbdCloseEndpointForDriver

Version NID
0.940-3.74 0xF304DC5C

sceUsbdControlTransferForDriver

Version NID
0.940-3.74 0x2E05660F

sceUsbdInterruptTransferForDriver

Version NID
0.940-3.74 0xA0BF85B8

SceUsbdForDriver_05073925

Version NID
0.990-3.74 0x05073925

sceUsbdGetBusNumberForDriver

Version NID
0.940-3.74 0x0E73D253

This is a guessed name.

int sceUsbdGetDeviceLocationForDriver(int device_id, uint8_t *port);

sceUsbdResumeForDriver

Version NID
0.940-3.74 0x206634F9

SceUsbdForDriver_2249BF99

Version NID
0.940-3.74 0x2249BF99

SceUsbdForDriver_235C094A

Version NID
0.940-3.74 0x235C094A

sceUsbdHostStopForDriver

Version NID
0.940-3.74 0x3C3396BB
int sceUsbdHostStopForDriver(int port);

SceUsbdForDriver_470D5289

Version NID
0.990-3.74 0x470D5289

sceUsbdHostStartForDriver

Version NID
0.940-3.74 0x5E301E18
int sceUsbdHostStartForDriver(int port);

sceUsbdUnregisterCompositeLDDForDriver

Version NID
0.940-3.74 0x5E301E18

This is a guessed name.

int sceUsbdUnregisterCompositeLDDForDriver(const SceUsbdCompositeDriver *driver);

SceUsbdForDriver_7938DAC7

Version NID
0.940-3.01 not present
3.10-3.74 0x7938DAC7

sceUsbdGetDeviceSpeedForDriver

Version NID
0.940-3.74 0xC3BECF5F

This is a guessed name.

sceUsbdGetDeviceSpeedForDriver(int device_id, uint8_t *speed);

SceUsbdForDriver_CE9353D8

Version NID
0.940 0xCE9353D8
0.990-3.74 not present

SceUsbdForDriver_DB8ADCDF

Version NID
0.940 0xDB8ADCDF
0.990-3.74 not present