SceSblUpdateMgr: Difference between revisions
(→Module) |
m (→Types: Fix fields of SceSblUsSpkgInfo) |
||
(21 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
also | See also [[Updater]]. This module performs many platform checks. | ||
== Module == | == Module == | ||
This module exists only in the non-secure kernel. The SELF can be found in <code>bootfs:update_mgr.skprx</code>. | This module exists only in the non-secure kernel. The SELF can be found in <code>bootfs:update_mgr.skprx</code>. | ||
Line 7: | Line 8: | ||
! Version !! World !! Privilege | ! Version !! World !! Privilege | ||
|- | |- | ||
| | | 0.931-3.740.011 || Non-secure || Kernel | ||
|} | |} | ||
== Libraries == | == Libraries == | ||
=== Known NIDs === | === Known NIDs === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version | ! Version !! Name !! World !! Visibility !! NID | ||
! Name | |||
! World | |||
! Visibility | |||
! NID | |||
|- | |- | ||
| 0.931-1. | | 0.931-1.692.000 || SceSblUpdateMgrForKernel || Non-secure || Kernel || 0xC4466E48 | ||
|- | |- | ||
| 0.931-1. | | 0.931-1.692.000 || SceSblUpdateMgrForDriver || Non-secure || Kernel || 0x0E04CD3D | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || SceSblSsUpdateMgr || Non-secure || User || 0x31406C49 | ||
|- | |- | ||
| 0.990 || SceSblSsUpdateMgrAdditional || Non-secure || User || 0xBDD7A86F | | 0.990-1.692.000 || SceSblSsUpdateMgrAdditional || Non-secure || User || 0xBDD7A86F | ||
|} | |} | ||
Line 38: | Line 34: | ||
typedef struct SceSblUsSpkgInfo { // Size is 0x10 on FW 0.931-0.990 | typedef struct SceSblUsSpkgInfo { // Size is 0x10 on FW 0.931-0.990 | ||
SceSize size; // size of this structure | SceSize size; // size of this structure | ||
uint32_t version; | |||
uint8_t status[4]; | |||
int reserved2; | int reserved2; | ||
} SceSblUsSpkgInfo; | } SceSblUsSpkgInfo; | ||
Line 67: | Line 63: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xD593D613 | ||
|} | |} | ||
Line 76: | Line 72: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xBAFCA304 | ||
|} | |} | ||
Line 85: | Line 81: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xF43372C4 | ||
|} | |} | ||
Line 94: | Line 90: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xB4AC7684 | ||
|} | |} | ||
Line 103: | Line 99: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xDD90C4B9 | ||
|} | |} | ||
Line 112: | Line 108: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xF41138F1 | ||
|} | |} | ||
Line 121: | Line 117: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xE7F5A4C0 | ||
|} | |} | ||
Line 130: | Line 126: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x87AC6E73 | ||
|} | |} | ||
Line 139: | Line 135: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x2D69BFDC | ||
|} | |} | ||
Line 148: | Line 144: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x45B91736 | ||
|} | |} | ||
Line 157: | Line 153: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x99D57D18 | ||
|} | |} | ||
Line 166: | Line 162: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xAE7D3BF5 | ||
|} | |} | ||
Line 175: | Line 171: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0xEEC71CCC | ||
|} | |} | ||
Get UpdateMode from | Get UpdateMode from [[Ernie#NVS|Ernie NVS]]. | ||
<source lang="C">int sceSblUsGetUpdateModeForDriver(SceUpdateMode *mode);</source> | <source lang="C">int sceSblUsGetUpdateModeForDriver(SceUpdateMode *mode);</source> | ||
Line 186: | Line 182: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x266820E9 | ||
|} | |} | ||
Set UpdateMode to | Set UpdateMode to [[Ernie#NVS|Ernie NVS]]. | ||
<source lang="C">int sceSblUsSetUpdateModeForDriver(SceUpdateMode mode);</source> | <source lang="C">int sceSblUsSetUpdateModeForDriver(SceUpdateMode mode);</source> | ||
Line 197: | Line 193: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x6ACEF44D | ||
|} | |} | ||
Only | Only returns 0. | ||
<source lang="C">int SceSblUpdateMgrForDriver_6ACEF44D(void);</source> | <source lang="C">int SceSblUpdateMgrForDriver_6ACEF44D(void);</source> | ||
Line 208: | Line 204: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x64ECC81A | ||
|} | |} | ||
Line 217: | Line 213: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931- | | 0.931-1.692.000 || 0x7CC73839 | ||
|} | |} | ||
Line 224: | Line 220: | ||
int sceSblUsGetApplicableVersionForDriver(int type, void *versionBuf); | int sceSblUsGetApplicableVersionForDriver(int type, void *versionBuf); | ||
</source> | </source> | ||
=== SceSblUpdateMgrForDriver_C8D235C4 === | |||
{| class="wikitable" | |||
! Version !! NID | |||
|- | |||
| 0.996.090-1.692.000 || 0xC8D235C4 | |||
|} | |||
== SceSblSsUpdateMgrAdditional == | == SceSblSsUpdateMgrAdditional == | ||
This library was not present on FW 0.931, and was removed | This library was not present on FW 0.931, and was removed since FW 1.80. Its functions were moved to SceSblSsUpdateMgr library. | ||
=== sceSblUsInformUpdateStartedForUser === | === sceSblUsInformUpdateStartedForUser === | ||
Line 233: | Line 236: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || 0x1E40A14E | | 0.990-1.692.000 || 0x1E40A14E | ||
|} | |} | ||
<source lang="C">int sceSblUsInformUpdateStartedForUser( | Example of value for unk_number: 300. | ||
<source lang="C">int sceSblUsInformUpdateStartedForUser(SceUInt32 nTask, int unk_number, const char *message, SceSize messageLength);</source> | |||
=== sceSblUsInformUpdateOngoingForUser === | === sceSblUsInformUpdateOngoingForUser === | ||
Line 242: | Line 247: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || 0x3A917CCE | | 0.990-1.692.000 || 0x3A917CCE | ||
|} | |} | ||
<source lang="C">int sceSblUsInformUpdateOngoingForUser( | <source lang="C">int sceSblUsInformUpdateOngoingForUser(SceUInt32 nTask, SceUInt32 percentage);</source> | ||
=== sceSblUsInformUpdateFinishedForUser === | === sceSblUsInformUpdateFinishedForUser === | ||
Line 251: | Line 256: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || 0x4734B987 | | 0.990-1.692.000 || 0x4734B987 | ||
|} | |} | ||
<source lang="C">int sceSblUsInformUpdateFinishedForUser( | <source lang="C">int sceSblUsInformUpdateFinishedForUser(SceUInt32 nTask, const char *message, SceSize messageLength);</source> | ||
=== sceSblUsSetSwInfoIntForUser === | === sceSblUsSetSwInfoIntForUser === | ||
Line 260: | Line 265: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || 0xA870D285 | | 0.990-1.692.000 || 0xA870D285 | ||
|} | |} | ||
<source lang="C">int sceSblUsSetSwInfoIntForUser(char * | Example of (name, value) couples: | ||
<pre> | |||
("SdkVersion", 0x1692000) | |||
("ScVersion", ?). | |||
</pre> | |||
<source lang="C">int sceSblUsSetSwInfoIntForUser(const char *name, SceSize nameLength, SceUInt32 value);</source> | |||
=== sceSblUsSetSwInfoStrForUser === | === sceSblUsSetSwInfoStrForUser === | ||
Line 269: | Line 280: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || 0x8C7255C8 | | 0.990-1.692.000 || 0x8C7255C8 | ||
|} | |} | ||
<source lang="C">int sceSblUsSetSwInfoStrForUser(char * | Example of (name, value) couples: | ||
<pre> | |||
SysRevision: "sys-revision" | |||
SysBuildNumber: "sys-build-number" | |||
VshRepository: "vsh-repository-path" | |||
VshRevision: "vsh-revision" | |||
VshBuildNumber: "vsh-build-number" | |||
</pre> | |||
<source lang="C">int sceSblUsSetSwInfoStrForUser(const char *name, SceSize nameLength, const char *value, SceSize valueLength);</source> | |||
=== sceSblUsSetSwInfoBinForUser === | === sceSblUsSetSwInfoBinForUser === | ||
Line 278: | Line 298: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || 0xF157E34A | | 0.990-1.692.000 || 0xF157E34A | ||
|} | |} | ||
<source lang="C">int sceSblUsSetSwInfoBinForUser(char * | <source lang="C">int sceSblUsSetSwInfoBinForUser(const char *name, SceSize nameLength, const void *value, SceSize valueLength);</source> | ||
== SceSblSsUpdateMgr == | == SceSblSsUpdateMgr == | ||
Line 289: | Line 309: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x8E834565 | ||
|} | |} | ||
Temp name was sceSblSsUpdateMgrGetBootMode. | Temp name was sceSblSsUpdateMgrGetBootMode. | ||
Get UpdateMode from | Get UpdateMode from [[Ernie#NVS|Ernie NVS]]. | ||
<source lang="C">int sceSblUsGetUpdateModeForUser(SceUpdateMode *mode);</source> | <source lang="C">int sceSblUsGetUpdateModeForUser(SceUpdateMode *mode);</source> | ||
Line 302: | Line 322: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xC725E3F0 | ||
|} | |} | ||
Temp name was sceSblSsUpdateMgrSetBootMode. | Temp name was sceSblSsUpdateMgrSetBootMode. | ||
Set UpdateMode to | Set UpdateMode to [[Ernie#NVS|Ernie NVS]]. | ||
<source lang="C">int sceSblUsSetUpdateModeForUser(SceUpdateMode mode);</source> | <source lang="C">int sceSblUsSetUpdateModeForUser(SceUpdateMode mode);</source> | ||
Line 315: | Line 335: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x1825D954 | ||
|} | |} | ||
Line 329: | Line 349: | ||
// 5: LED OFF | // 5: LED OFF | ||
// 6: LED INIT | // 6: LED INIT | ||
// 7: | // 7: sceKernelPowerTick(flag) | ||
// 8: | // 8: Checks if CP is enabled by DIP switch 194. | ||
int sceSblUsPowerControlForUser(int mode, int flag); | int sceSblUsPowerControlForUser(int mode, int flag); | ||
Line 339: | Line 359: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x8E3EC2E1 | ||
|} | |} | ||
Line 350: | Line 370: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x6F5EDBF4 | ||
|} | |} | ||
path max len : 0x3FF bytes | path max len: 0x3FF bytes | ||
<source lang="C">int sceSblUsVerifyPupForUser(const char *path);</source> | <source lang="C">int sceSblUsVerifyPupForUser(const char *path);</source> | ||
Line 361: | Line 381: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3.60 || 0xB19366CB | | 3.60-3.740.011 || 0xB19366CB | ||
|} | |} | ||
path max len : 0x3FF | path max len: 0x3FF bytes | ||
<source lang="C">int sceSblUsVerifyPupAdditionalSignForUser(const char *path);</source> | <source lang="C">int sceSblUsVerifyPupAdditionalSignForUser(const char *path);</source> | ||
Line 374: | Line 394: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.940-3. | | 0.940-3.740.011 || 0x9BE17A06 | ||
|} | |} | ||
path max len : 0x3FF | path max len: 0x3FF bytes | ||
<source lang="C">int sceSblUsVerifyPupHeaderForUser(const char *path);</source> | <source lang="C">int sceSblUsVerifyPupHeaderForUser(const char *path);</source> | ||
Line 385: | Line 405: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xD47FD33E | ||
|} | |} | ||
path max len: 0x3FF bytes | path max len: 0x3FF bytes | ||
<source lang="C">int sceSblUsVerifyPupSegmentForUser(const char *path);</source> | <source lang="C">int sceSblUsVerifyPupSegmentForUser(const char *path, SceUInt64 segment_index);</source> | ||
=== sceSblUsVerifyPupSegmentByIdForUser === | === sceSblUsVerifyPupSegmentByIdForUser === | ||
Line 396: | Line 416: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x95FC1A0A | ||
|} | |} | ||
path max len: 0x3FF bytes | path max len: 0x3FF bytes | ||
<source lang="C">int sceSblUsVerifyPupSegmentByIdForUser(const char *path, uint64_t seg_id);</source> | |||
<source lang="C">int sceSblUsVerifyPupSegmentByIdForUser(const char *path, | |||
=== sceSblUsVerifyPupWatermarkForUser === | === sceSblUsVerifyPupWatermarkForUser === | ||
Line 409: | Line 427: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xC6CDEB8D | ||
|} | |} | ||
path max len : 0x3FF bytes | path max len: 0x3FF bytes | ||
<source lang="C">int sceSblUsVerifyPupWatermarkForUser(const char *path);</source> | <source lang="C">int sceSblUsVerifyPupWatermarkForUser(const char *path);</source> | ||
Line 420: | Line 438: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x6E8DDAC4 | ||
|} | |} | ||
Line 429: | Line 447: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x1A39F6EE | ||
|} | |} | ||
Line 438: | Line 456: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xC1792A1C | ||
|} | |} | ||
Line 447: | Line 465: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x4897AD56 | ||
|} | |} | ||
Line 460: | Line 478: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x4C06F41C | ||
|} | |} | ||
Line 469: | Line 487: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xBD677F5A | ||
|} | |} | ||
Line 478: | Line 496: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xF403143E | ||
|} | |} | ||
Line 487: | Line 505: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0xBED8DFC7 | ||
|} | |} | ||
Check if the current process is system privileged. | |||
<source lang="C">SceInt32 sceSblUsCheckSystemIntegrityForUser(void);</source> | |||
<source lang="C"> | |||
=== sceSblUsGetApplicableVersionForUser === | === sceSblUsGetApplicableVersionForUser === | ||
Line 512: | Line 516: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.931-3. | | 0.931-3.740.011 || 0x3ADD4B7A | ||
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
// type must be 1 or 9 else "builtin revoke list cannot be found" | // type must be 1 or 9 else returns error "builtin revoke list cannot be found" | ||
int sceSblUsGetApplicableVersionForUser(int type, void *versionBuf); | int sceSblUsGetApplicableVersionForUser(int type, void *versionBuf); | ||
</source> | </source> | ||
Line 524: | Line 528: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0x9FC8E905 | ||
|} | |} | ||
Line 535: | Line 539: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xD0CB50AC | ||
|} | |} | ||
Line 546: | Line 550: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0x2A02DCFB | ||
|} | |} | ||
Line 557: | Line 561: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0x157AD4AD | ||
|} | |} | ||
Line 568: | Line 572: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xFE930747 | ||
|} | |} | ||
Line 579: | Line 583: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 0.990 || | | 0.990 || not present | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0x92A8002B | ||
|} | |} | ||
<source lang="C">int sceSblUsSetSwInfoBinForUser(char *str1, SceSize len1, char *str2, SceSize len2);</source> | <source lang="C">int sceSblUsSetSwInfoBinForUser(char *str1, SceSize len1, char *str2, SceSize len2);</source> | ||
[[Category:ARM]] | |||
[[Category:Kernel]] | |||
[[Category:Modules]] | |||
[[Category:Library]] |
Latest revision as of 20:50, 27 December 2023
See also Updater. This module performs many platform checks.
Module
This module exists only in the non-secure kernel. The SELF can be found in bootfs:update_mgr.skprx
.
Version | World | Privilege |
---|---|---|
0.931-3.740.011 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.931-1.692.000 | SceSblUpdateMgrForKernel | Non-secure | Kernel | 0xC4466E48 |
0.931-1.692.000 | SceSblUpdateMgrForDriver | Non-secure | Kernel | 0x0E04CD3D |
0.931-3.740.011 | SceSblSsUpdateMgr | Non-secure | User | 0x31406C49 |
0.990-1.692.000 | SceSblSsUpdateMgrAdditional | Non-secure | User | 0xBDD7A86F |
Types
typedef char SceUpdateMode; typedef struct SceSblUsSpkgInfo { // Size is 0x10 on FW 0.931-0.990 SceSize size; // size of this structure uint32_t version; uint8_t status[4]; int reserved2; } SceSblUsSpkgInfo; typedef struct SceKernelSpackageArgs { // Size is 0x2C on FW 0.931 SceSize arg_size; // Size of this structure SceUInt32 package_type; void *addr; SceSize size; SceUInt32 flags; char unk[0x8]; SceUInt32 seq_no; SceUInt32 result; SceUInt32 progress; SceUInt32 written_rates; } SceKernelSpackageArgs;
SceSblUpdateMgrForKernel
SceSblUpdateMgrForKernel functions and NIDs are exactly identical to SceSblUpdateMgrForDriver.
SceSblUpdateMgrForDriver
sceSblUsVerifyPupForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xD593D613 |
int sceSblUsVerifyPupForDriver(const char *path);
sceSblUsVerifyPupHeaderForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xBAFCA304 |
int sceSblUsVerifyPupHeaderForDriver(const char *path);
sceSblUsVerifyPupSegmentForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xF43372C4 |
int sceSblUsVerifyPupSegmentForDriver(const char *path);
sceSblUsVerifyPupSegmentByIdForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xB4AC7684 |
int sceSblUsVerifyPupSegmentByIdForDriver(const char *path, void *arg2, int seg_id, int arg4);
sceSblUsVerifyPupWatermarkForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xDD90C4B9 |
int sceSblUsVerifyPupWatermarkForDriver(const char *path);
sceSblUsUpdateSpackageForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xF41138F1 |
int sceSblUsUpdateSpackageForDriver(int package_type, void *kaddr, SceSize size, uint32_t flags, int *pRequestId);
sceSblUsInspectSpackageForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xE7F5A4C0 |
int sceSblUsInspectSpackageForDriver(int package_type, void *kaddr, SceSize size, uint32_t flags, int *pRequestId);
sceSblUsExtractSpackageForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x87AC6E73 |
int sceSblUsExtractSpackageForDriver(int package_type, void *kaddr, SceSize size, uint32_t flags, int *pRequestId);
sceSblUsAllocateBufferForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x2D69BFDC |
int sceSblUsAllocateBufferForDriver(SceSize size, void **kaddr);
sceSblUsReleaseBufferForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x45B91736 |
int sceSblUsReleaseBufferForDriver(void *kaddr);
sceSblUsGetStatusForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x99D57D18 |
int sceSblUsGetStatusForDriver(int node_type, int requestId, uint32_t *seq_no, uint32_t *result, uint32_t *progress, uint32_t *written_rates);
sceSblUsGetSpkgInfoForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xAE7D3BF5 |
int sceSblUsGetSpkgInfoForDriver(int package_type, SceSblUsSpkgInfo *pInfo);
sceSblUsGetUpdateModeForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0xEEC71CCC |
Get UpdateMode from Ernie NVS.
int sceSblUsGetUpdateModeForDriver(SceUpdateMode *mode);
sceSblUsSetUpdateModeForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x266820E9 |
Set UpdateMode to Ernie NVS.
int sceSblUsSetUpdateModeForDriver(SceUpdateMode mode);
SceSblUpdateMgrForDriver_6ACEF44D
Version | NID |
---|---|
0.931-1.692.000 | 0x6ACEF44D |
Only returns 0.
int SceSblUpdateMgrForDriver_6ACEF44D(void);
sceSblUsPowerControlForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x64ECC81A |
int sceSblUsPowerControlForDriver(int mode, int flag);
sceSblUsGetApplicableVersionForDriver
Version | NID |
---|---|
0.931-1.692.000 | 0x7CC73839 |
// type must be 1 or 9 else "builtin revoke list cannot be found" int sceSblUsGetApplicableVersionForDriver(int type, void *versionBuf);
SceSblUpdateMgrForDriver_C8D235C4
Version | NID |
---|---|
0.996.090-1.692.000 | 0xC8D235C4 |
SceSblSsUpdateMgrAdditional
This library was not present on FW 0.931, and was removed since FW 1.80. Its functions were moved to SceSblSsUpdateMgr library.
sceSblUsInformUpdateStartedForUser
Version | NID |
---|---|
0.990-1.692.000 | 0x1E40A14E |
Example of value for unk_number: 300.
int sceSblUsInformUpdateStartedForUser(SceUInt32 nTask, int unk_number, const char *message, SceSize messageLength);
sceSblUsInformUpdateOngoingForUser
Version | NID |
---|---|
0.990-1.692.000 | 0x3A917CCE |
int sceSblUsInformUpdateOngoingForUser(SceUInt32 nTask, SceUInt32 percentage);
sceSblUsInformUpdateFinishedForUser
Version | NID |
---|---|
0.990-1.692.000 | 0x4734B987 |
int sceSblUsInformUpdateFinishedForUser(SceUInt32 nTask, const char *message, SceSize messageLength);
sceSblUsSetSwInfoIntForUser
Version | NID |
---|---|
0.990-1.692.000 | 0xA870D285 |
Example of (name, value) couples:
("SdkVersion", 0x1692000) ("ScVersion", ?).
int sceSblUsSetSwInfoIntForUser(const char *name, SceSize nameLength, SceUInt32 value);
sceSblUsSetSwInfoStrForUser
Version | NID |
---|---|
0.990-1.692.000 | 0x8C7255C8 |
Example of (name, value) couples:
SysRevision: "sys-revision" SysBuildNumber: "sys-build-number" VshRepository: "vsh-repository-path" VshRevision: "vsh-revision" VshBuildNumber: "vsh-build-number"
int sceSblUsSetSwInfoStrForUser(const char *name, SceSize nameLength, const char *value, SceSize valueLength);
sceSblUsSetSwInfoBinForUser
Version | NID |
---|---|
0.990-1.692.000 | 0xF157E34A |
int sceSblUsSetSwInfoBinForUser(const char *name, SceSize nameLength, const void *value, SceSize valueLength);
SceSblSsUpdateMgr
sceSblUsGetUpdateModeForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x8E834565 |
Temp name was sceSblSsUpdateMgrGetBootMode.
Get UpdateMode from Ernie NVS.
int sceSblUsGetUpdateModeForUser(SceUpdateMode *mode);
sceSblUsSetUpdateModeForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xC725E3F0 |
Temp name was sceSblSsUpdateMgrSetBootMode.
Set UpdateMode to Ernie NVS.
int sceSblUsSetUpdateModeForUser(SceUpdateMode mode);
sceSblUsPowerControlForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x1825D954 |
Temp name was sceSblSsUpdateMgrSendCommand.
// Modes: // 0: reboot target and/or CP with or without CP update. flag = 2 -> reboot CP, flag = 5 -> reboot Ernie // 1: shutdown target. flag 5 = shutdown Ernie // 2: sceKernelPowerLock(0) // 3: sceKernelPowerUnlock(0) // 4: LED ON // 5: LED OFF // 6: LED INIT // 7: sceKernelPowerTick(flag) // 8: Checks if CP is enabled by DIP switch 194. int sceSblUsPowerControlForUser(int mode, int flag);
sceSblUsGetSpkgInfoForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x8E3EC2E1 |
Temp name was sceSblSsUpdateMgrGetSpkgInfo.
int sceSblUsGetSpkgInfoForUser(int package_type, SceSblUsSpkgInfo *pInfo);
sceSblUsVerifyPupForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x6F5EDBF4 |
path max len: 0x3FF bytes
int sceSblUsVerifyPupForUser(const char *path);
sceSblUsVerifyPupAdditionalSignForUser
Version | NID |
---|---|
0.990 | not present |
3.60-3.740.011 | 0xB19366CB |
path max len: 0x3FF bytes
int sceSblUsVerifyPupAdditionalSignForUser(const char *path);
sceSblUsVerifyPupHeaderForUser
Version | NID |
---|---|
0.940-3.740.011 | 0x9BE17A06 |
path max len: 0x3FF bytes
int sceSblUsVerifyPupHeaderForUser(const char *path);
sceSblUsVerifyPupSegmentForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xD47FD33E |
path max len: 0x3FF bytes
int sceSblUsVerifyPupSegmentForUser(const char *path, SceUInt64 segment_index);
sceSblUsVerifyPupSegmentByIdForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x95FC1A0A |
path max len: 0x3FF bytes
int sceSblUsVerifyPupSegmentByIdForUser(const char *path, uint64_t seg_id);
sceSblUsVerifyPupWatermarkForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xC6CDEB8D |
path max len: 0x3FF bytes
int sceSblUsVerifyPupWatermarkForUser(const char *path);
sceSblUsUpdateSpackageForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x6E8DDAC4 |
int sceSblUsUpdateSpackageForUser(int package_type, SceKernelSpackageArgs *args, int *pRequestId);
sceSblUsInspectSpackageForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x1A39F6EE |
int sceSblUsInspectSpackageForUser(int package_type, SceKernelSpackageArgs *args, int *pRequestId);
sceSblUsExtractSpackageForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xC1792A1C |
int sceSblUsExtractSpackageForUser(int package_type, SceKernelSpackageArgs *args, int *pRequestId);
sceSblUsGetExtractSpackageForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x4897AD56 |
// node_type must be 0, 1 or 2 int sceSblUsGetExtractSpackageForUser(int node_type, int requestId, SceKernelSpackageArgs *args);
sceSblUsAllocateBufferForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x4C06F41C |
int sceSblUsAllocateBufferForUser(SceSize size, void **uaddr);
sceSblUsReleaseBufferForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xBD677F5A |
int sceSblUsReleaseBufferForUser(void *uaddr);
sceSblUsGetStatusForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xF403143E |
int sceSblUsGetStatusForUser(int node_type, int requestId, SceKernelSpackageArgs *args);
sceSblUsCheckSystemIntegrityForUser
Version | NID |
---|---|
0.931-3.740.011 | 0xBED8DFC7 |
Check if the current process is system privileged.
SceInt32 sceSblUsCheckSystemIntegrityForUser(void);
sceSblUsGetApplicableVersionForUser
Version | NID |
---|---|
0.931-3.740.011 | 0x3ADD4B7A |
// type must be 1 or 9 else returns error "builtin revoke list cannot be found" int sceSblUsGetApplicableVersionForUser(int type, void *versionBuf);
sceSblUsInformUpdateStartedForUser
Version | NID |
---|---|
0.990 | not present |
1.000.071-3.740.011 | 0x9FC8E905 |
int sceSblUsInformUpdateStartedForUser(int number1, int number2, const char *str, SceSize len);
sceSblUsInformUpdateOngoingForUser
Version | NID |
---|---|
0.990 | not present |
1.000.071-3.740.011 | 0xD0CB50AC |
int sceSblUsInformUpdateOngoingForUser(int number1, int number2);
sceSblUsInformUpdateFinishedForUser
Version | NID |
---|---|
0.990 | not present |
1.000.071-3.740.011 | 0x2A02DCFB |
int sceSblUsInformUpdateFinishedForUser(int number, const char *str, SceSize len);
sceSblUsSetSwInfoIntForUser
Version | NID |
---|---|
0.990 | not present |
1.000.071-3.740.011 | 0x157AD4AD |
int sceSblUsSetSwInfoIntForUser(char *str, SceSize len, SceUInt32 number);
sceSblUsSetSwInfoStrForUser
Version | NID |
---|---|
0.990 | not present |
1.000.071-3.740.011 | 0xFE930747 |
int sceSblUsSetSwInfoStrForUser(char *str1, SceSize len1, char *str2, SceSize len2);
sceSblUsSetSwInfoBinForUser
Version | NID |
---|---|
0.990 | not present |
1.000.071-3.740.011 | 0x92A8002B |
int sceSblUsSetSwInfoBinForUser(char *str1, SceSize len1, char *str2, SceSize len2);