Difference between revisions of "SceIdStorage"
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) |
||
Line 6: | Line 6: | ||
! Version !! Name !! World !! Privilege !! NID | ! Version !! Name !! World !! Privilege !! NID | ||
|- | |- | ||
− | | | + | | 0.931-3.60 || SceIdStorage || Non-secure || Kernel || ? |
− | |||
− | |||
|} | |} | ||
Line 19: | Line 17: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
− | | | + | | 0.931-3.60 || [[SceIdStorage#SceIdStorageForDriver|SceIdStorageForDriver]] || Non-secure || Kernel || 0xE1AC6D7C |
|} | |} | ||
== SceIdStorageForDriver == | == SceIdStorageForDriver == | ||
+ | |||
+ | Reference: [https://www.elotrolado.net/hilo_referencia-sobre-el-idstorage_839995] | ||
=== sceIdStorageCreateAtomicLeavesForDriver === | === sceIdStorageCreateAtomicLeavesForDriver === | ||
Line 29: | Line 29: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x99ACCB71 | + | | 0.931-3.60 || 0x99ACCB71 |
|} | |} | ||
Line 41: | Line 41: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x08A471A6 | + | | 0.931-3.60 || 0x08A471A6 |
|} | |} | ||
− | <source lang="C"> | + | <source lang="C">int sceIdStorageCreateLeafForDriver(SceUInt32 key);</source> |
− | int sceIdStorageCreateLeafForDriver( | ||
− | </source> | ||
=== sceIdStorageDeleteLeafForDriver === | === sceIdStorageDeleteLeafForDriver === | ||
Line 53: | Line 51: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x2C97AB36 | + | | 0.931-3.60 || 0x2C97AB36 |
|} | |} | ||
− | <source lang="C"> | + | <source lang="C">int sceIdStorageDeleteLeafForDriver(SceUInt32 key);</source> |
− | int sceIdStorageDeleteLeafForDriver( | ||
− | </source> | ||
=== sceIdStorageEnumIdForDriver === | === sceIdStorageEnumIdForDriver === | ||
Line 65: | Line 61: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x31E08AFB | + | | 0.931-3.60 || 0x31E08AFB |
|} | |} | ||
− | <source lang="C"> | + | Locks then unlocks the IDStorage enumerator mutex. |
− | int sceIdStorageEnumIdForDriver(void); | + | |
− | </source> | + | Returns 0 on success. |
+ | |||
+ | <source lang="C">int sceIdStorageEnumIdForDriver(void);</source> | ||
− | === | + | === sceIdStorageGetFreeLeavesForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0x37833CB8 |
|} | |} | ||
− | <source lang="C"> | + | <source lang="C">int sceIdStorageGetFreeLeavesForDriver(void);</source> |
− | int | ||
− | </source> | ||
− | === | + | === sceIdStorageGetLeafSizeForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0xEB830733 |
|} | |} | ||
− | <source lang="C"> | + | <source lang="C">SceSize sceIdStorageGetLeafSizeForDriver(void);</source> |
− | |||
− | </source> | ||
− | === | + | === sceIdStorageLookupForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0x6FE062D1 |
|} | |} | ||
+ | |||
+ | Retrieves the value associated with a key. | ||
+ | |||
+ | Returns 0x80230000 if offset + size > 512, 0x80230001 if key > 0xFFEF, 0x80230003 if IDStorage is not formatted, 0x80230005 for enumerator issue. | ||
<source lang="C"> | <source lang="C"> | ||
− | int | + | // key - idstorage key |
+ | // offset - offset within the 512 byte leaf | ||
+ | // buf - buffer with enough storage | ||
+ | // len - amount of data to retrieve (offset + len must be <= 512 bytes) | ||
+ | int sceIdStorageLookupForDriver(SceUInt32 key, SceUInt32 offset, void *buf, SceSize size); | ||
</source> | </source> | ||
− | === | + | === sceIdStorageReadLeafForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0xEB00C509 |
|} | |} | ||
+ | |||
+ | Reads the whole 512 byte container for the idstorage key. | ||
<source lang="C"> | <source lang="C"> | ||
− | + | // key - idstorage key | |
+ | // buf - buffer with at last 512 bytes of storage | ||
+ | int sceIdStorageReadLeafForDriver(SceUInt32 key, void *buf); | ||
</source> | </source> | ||
− | === | + | === sceIdStorageWriteLeafForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0x1FA4D135 |
|} | |} | ||
+ | |||
+ | Writes 512-bytes to the idstorage key. | ||
+ | |||
+ | Returns 0xffffffff if IDStorage is read-only, 0x80230003 if IDStorage is not formatted, 0x80230001 if key > 0xFFEF, 0x80230005 for enumerator issue. | ||
<source lang="C"> | <source lang="C"> | ||
− | + | // key - idstorage key | |
+ | // buf - buffer of at least 512 bytes | ||
+ | int sceIdStorageWriteLeafForDriver(SceUInt32 key, const void *buf); | ||
</source> | </source> | ||
− | === | + | === sceIdStorageFlushForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0x3AD32523 |
|} | |} | ||
− | <source lang="C"> | + | Finalizes a write. |
− | + | ||
− | </source> | + | <source lang="C">int sceIdStorageFlushForDriver(void);</source> |
− | === | + | === sceIdStorageIsFormattedForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0xFEFA40C2 |
|} | |} | ||
− | <source lang="C"> | + | <source lang="C">char sceIdStorageIsFormattedForDriver(void);</source> |
− | |||
− | </source> | ||
− | === | + | === sceIdStorageIsDirtyForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0xB9069BAD |
|} | |} | ||
− | <source lang="C"> | + | <source lang="C">char sceIdStorageIsDirtyForDriver(void);</source> |
− | |||
− | </source> | ||
− | === | + | === sceIdStorageIsReadOnlyForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0x2D633688 |
|} | |} | ||
− | <source lang="C"> | + | Checks idstorage for readonly status. |
− | + | ||
− | </source> | + | <source lang="C">char sceIdStorageIsReadOnlyForDriver(void);</source> |
− | === | + | === sceIdStorageFormatForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 0.931-3.60 || | + | | 0.931-3.60 || 0x958089DB |
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
// Returns 0 on success, 0x80230000 if PSVita is not in manufacturing mode. | // Returns 0 on success, 0x80230000 if PSVita is not in manufacturing mode. | ||
− | + | int sceIdStorageFormatForDriver(void); | |
− | int | ||
</source> | </source> | ||
Line 199: | Line 206: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0xF4BCB3EE | + | | 0.931-3.60 || 0xF4BCB3EE |
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
+ | // Returns 0 on success, 0x80230000 if PSVita is not in manufacturing mode. | ||
int sceIdStorageUnformatForDriver(void); | int sceIdStorageUnformatForDriver(void); | ||
</source> | </source> | ||
Line 211: | Line 219: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || 0x683AAC10 | + | | 0.931-3.60 || 0x683AAC10 |
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
− | int sceIdStorageUpdateForDriver( | + | // Returns 0 on success. |
+ | // Returns 0x80230000 if PSVita is not in manufacturing mode, 0xffffffff if IDStorage is read-only. | ||
+ | // Returns 0x80230000 if offset + size > 512, 0x80230001 if key > 0xFFEF. | ||
+ | // Returns 0x80230003 if IDStorage is not formatted, 0x80230005 for enumerator issue. | ||
+ | // key - idstorage key | ||
+ | // offset - offset within the 512 byte leaf | ||
+ | // buf - buffer with enough storage | ||
+ | // size - amount of data to write (offset + size must be <= 512 bytes) | ||
+ | int sceIdStorageUpdateForDriver(SceUInt32 key, SceUInt32 offset, void *buf, SceSize size); | ||
</source> | </source> | ||
− | === | + | === sceIdStorageRestartForDriver === |
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
− | | 3.60 || | + | | 0.931-3.60 || 0x60B647A5 |
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
− | int | + | // Returns 0 on success. |
+ | // Returns 0x80230000 if PSVita is not in manufacturing mode. | ||
+ | // flush: set to true to call sceIdStorageFlushForDriver | ||
+ | int sceIdStorageRestartForDriver(SceBool flush); | ||
</source> | </source> | ||
+ | |||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category:Kernel]] | [[Category:Kernel]] |
Revision as of 12:02, 29 January 2020
Module
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
0.931-3.60 | SceIdStorage | Non-secure | Kernel | ? |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.931-3.60 | SceIdStorageForDriver | Non-secure | Kernel | 0xE1AC6D7C |
SceIdStorageForDriver
Reference: [1]
sceIdStorageCreateAtomicLeavesForDriver
Version | NID |
---|---|
0.931-3.60 | 0x99ACCB71 |
int sceIdStorageCreateAtomicLeavesForDriver(int a1, int a2);
sceIdStorageCreateLeafForDriver
Version | NID |
---|---|
0.931-3.60 | 0x08A471A6 |
int sceIdStorageCreateLeafForDriver(SceUInt32 key);
sceIdStorageDeleteLeafForDriver
Version | NID |
---|---|
0.931-3.60 | 0x2C97AB36 |
int sceIdStorageDeleteLeafForDriver(SceUInt32 key);
sceIdStorageEnumIdForDriver
Version | NID |
---|---|
0.931-3.60 | 0x31E08AFB |
Locks then unlocks the IDStorage enumerator mutex.
Returns 0 on success.
int sceIdStorageEnumIdForDriver(void);
sceIdStorageGetFreeLeavesForDriver
Version | NID |
---|---|
0.931-3.60 | 0x37833CB8 |
int sceIdStorageGetFreeLeavesForDriver(void);
sceIdStorageGetLeafSizeForDriver
Version | NID |
---|---|
0.931-3.60 | 0xEB830733 |
SceSize sceIdStorageGetLeafSizeForDriver(void);
sceIdStorageLookupForDriver
Version | NID |
---|---|
0.931-3.60 | 0x6FE062D1 |
Retrieves the value associated with a key.
Returns 0x80230000 if offset + size > 512, 0x80230001 if key > 0xFFEF, 0x80230003 if IDStorage is not formatted, 0x80230005 for enumerator issue.
// key - idstorage key
// offset - offset within the 512 byte leaf
// buf - buffer with enough storage
// len - amount of data to retrieve (offset + len must be <= 512 bytes)
int sceIdStorageLookupForDriver(SceUInt32 key, SceUInt32 offset, void *buf, SceSize size);
sceIdStorageReadLeafForDriver
Version | NID |
---|---|
0.931-3.60 | 0xEB00C509 |
Reads the whole 512 byte container for the idstorage key.
// key - idstorage key
// buf - buffer with at last 512 bytes of storage
int sceIdStorageReadLeafForDriver(SceUInt32 key, void *buf);
sceIdStorageWriteLeafForDriver
Version | NID |
---|---|
0.931-3.60 | 0x1FA4D135 |
Writes 512-bytes to the idstorage key.
Returns 0xffffffff if IDStorage is read-only, 0x80230003 if IDStorage is not formatted, 0x80230001 if key > 0xFFEF, 0x80230005 for enumerator issue.
// key - idstorage key
// buf - buffer of at least 512 bytes
int sceIdStorageWriteLeafForDriver(SceUInt32 key, const void *buf);
sceIdStorageFlushForDriver
Version | NID |
---|---|
0.931-3.60 | 0x3AD32523 |
Finalizes a write.
int sceIdStorageFlushForDriver(void);
sceIdStorageIsFormattedForDriver
Version | NID |
---|---|
0.931-3.60 | 0xFEFA40C2 |
char sceIdStorageIsFormattedForDriver(void);
sceIdStorageIsDirtyForDriver
Version | NID |
---|---|
0.931-3.60 | 0xB9069BAD |
char sceIdStorageIsDirtyForDriver(void);
sceIdStorageIsReadOnlyForDriver
Version | NID |
---|---|
0.931-3.60 | 0x2D633688 |
Checks idstorage for readonly status.
char sceIdStorageIsReadOnlyForDriver(void);
sceIdStorageFormatForDriver
Version | NID |
---|---|
0.931-3.60 | 0x958089DB |
// Returns 0 on success, 0x80230000 if PSVita is not in manufacturing mode.
int sceIdStorageFormatForDriver(void);
sceIdStorageUnformatForDriver
Version | NID |
---|---|
0.931-3.60 | 0xF4BCB3EE |
// Returns 0 on success, 0x80230000 if PSVita is not in manufacturing mode.
int sceIdStorageUnformatForDriver(void);
sceIdStorageUpdateForDriver
Version | NID |
---|---|
0.931-3.60 | 0x683AAC10 |
// Returns 0 on success.
// Returns 0x80230000 if PSVita is not in manufacturing mode, 0xffffffff if IDStorage is read-only.
// Returns 0x80230000 if offset + size > 512, 0x80230001 if key > 0xFFEF.
// Returns 0x80230003 if IDStorage is not formatted, 0x80230005 for enumerator issue.
// key - idstorage key
// offset - offset within the 512 byte leaf
// buf - buffer with enough storage
// size - amount of data to write (offset + size must be <= 512 bytes)
int sceIdStorageUpdateForDriver(SceUInt32 key, SceUInt32 offset, void *buf, SceSize size);
sceIdStorageRestartForDriver
Version | NID |
---|---|
0.931-3.60 | 0x60B647A5 |
// Returns 0 on success.
// Returns 0x80230000 if PSVita is not in manufacturing mode.
// flush: set to true to call sceIdStorageFlushForDriver
int sceIdStorageRestartForDriver(SceBool flush);