SceIdStorage: Difference between revisions
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) No edit summary |
||
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);