SceDeci4pDfMgr: Difference between revisions
Jump to navigation
Jump to search
(→Module) |
CelesteBlue (talk | contribs) No edit summary |
||
(21 intermediate revisions by 3 users not shown) | |||
Line 5: | Line 5: | ||
! Version !! World !! Privilege | ! Version !! World !! Privilege | ||
|- | |- | ||
| | | 0.940-3.730.011 || Non-secure || Kernel | ||
|} | |} | ||
Line 16: | Line 16: | ||
! Version !! Name !! World !! Visibility !! NID | ! Version !! Name !! World !! Visibility !! NID | ||
|- | |- | ||
| 3. | | 0.940-3.730.011 || [[SceDeci4pDfMgr#SceDeci4pDfMgrForDebugger|SceDeci4pDfMgrForDebugger]] || Non-secure || Kernel || 0x849E3DF5 | ||
|} | |} | ||
== Types == | |||
<source lang="C"> | |||
typedef SceInt32 SceDfMgr_id; //ID returned by sceDfMgrOpen | |||
typedef int (* SceDfMgrOpen_handler)(int a1, void *a2, void *args); | |||
// Also used in sceSDfMgrOpenForKernel in System Software version 3.20 | |||
typedef struct SceDfMgrOpen_param_0940 { // Size is 0x1C-bytes | |||
SceSize size; | |||
uint32_t uProtocol; | |||
uint32_t unk8; | |||
uint32_t uVersion; | |||
uint32_t uVersionLimit; | |||
uint16_t unk14; // ex: 0 | |||
uint16_t unk16; // ex: 1 | |||
char *name; | |||
} SceDfMgrOpen_param_0940; | |||
typedef struct SceDfMgrOpen_param_360 { // Size is 0x38-bytes | |||
SceSize size; | |||
uint32_t uProtocol; | |||
uint32_t unk8; | |||
uint32_t uVersion; | |||
uint32_t uVersionLimit; | |||
uint16_t unk14; // ex: 0 | |||
uint16_t unk16; // ex: 1 | |||
char name[0x20]; | |||
} SceDfMgrOpen_param_360; | |||
// sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct *pInfoInt = (sceDeci4pDfMgrRegisterSysEventForDebugger_internal *)(data_seg + 0x14); // max number of entries is 32 | |||
typedef struct sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct { // size is 0x54 | |||
SceDfMgrOpen_handler handler; | |||
SceDfMgrOpen_param info; | |||
int data_0x3C; | |||
int data_0x40; | |||
int data_0x44; | |||
int data_0x48; | |||
int data_0x4C; | |||
int data_0x50; | |||
} sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct; | |||
</source> | |||
== SceDeci4pDfMgrForDebugger == | == SceDeci4pDfMgrForDebugger == | ||
=== | === sceDfMgrCloseForDebugger === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0x1CC6ED4B | ||
|} | |} | ||
<source lang="C"> | <source lang="C">SceInt32 sceDfMgrCloseForDebugger(SceDfMgr_id id);</source> | ||
</source> | |||
=== | === sceDfMgrOpenForDebugger === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0x529979FB | ||
|} | |} | ||
Handler is called on reboot/standby/suspend/SceShell process create. | |||
Up to 32 handles can be opened at a time, and (besides some exceptions) there should be no duplicate IDs (<code>unk4</code> of <code>a2</code>). | |||
<source lang="C"> | <source lang="C"> | ||
// Returns an id (not UID) on success, < 0 on error. | |||
// 0x80080004 -> no entry remaining (too many Open) | |||
SceDfMgr_id sceDfMgrOpenForDebugger(SceDfMgrOpen_handler handler, SceDfMgrOpen_param *a2, void *args); | |||
</source> | </source> | ||
=== | === sceDfMgrRecvForDebugger === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0x5F2C7E11 | ||
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
// Returns received size on success, < 0 on error. | |||
SceSSize sceDfMgrRecvForDebugger(SceDfMgr_id id, void* buf, SceSize size); | |||
</source> | </source> | ||
Line 62: | Line 110: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0x6D26CC56 | ||
|} | |} | ||
<source lang="C"> | Writes <code>val</code> as a 3-byte unsigned integer to <code>ptr</code>. | ||
void SceDeci4pDfMgrForDebugger_6D26CC56(void * | |||
</source> | <source lang="C">void SceDeci4pDfMgrForDebugger_6D26CC56(void *ptr, SceUInt32 val);</source> | ||
=== | === sceDfMgrSendSpaceForDebugger === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0x7EAE4FA2 | ||
|} | |} | ||
<source lang="C"> | <source lang="C">SceInt32 sceDfMgrSendSpaceForDebugger(SceDfMgr_id id);</source> | ||
</source> | |||
=== | === sceDfMgrReqSendForDebugger === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0xBADEF855 | ||
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
SceInt32 sceDfMgrReqSendForDebugger(SceDfMgr_id id); | |||
</source> | </source> | ||
=== | === sceDfMgrSendForDebugger === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0xC3390112 | ||
|} | |} | ||
<source lang="C"> | <source lang="C"> | ||
// Returns sent size on success, < 0 on error. | |||
SceSSize sceDfMgrSendForDebugger(SceDfMgr_id id, const void* buf, SceSize size); | |||
</source> | </source> | ||
Line 110: | Line 157: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| | | 0.940-3.730.011 || 0xCACAB5F9 | ||
|} | |} | ||
<source lang="C"> | Reads the value at <code>ptr</code> as a 3-byte unsigned integer. | ||
</source> | <source lang="C">SceUInt32 SceDeci4pDfMgrForDebugger_CACAB5F9(void *ptr);</source> | ||
=== sceDfMgrDcmpReqSendForLoadpForDebugger === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.995.000 || not present | |||
|- | |||
| 2.500.071-3.730.011 || 0xD0CCF840 | |||
|} | |||
[[Category:ARM]] | |||
[[Category:Kernel]] | |||
[[Category:Modules]] | [[Category:Modules]] | ||
[[Category: | [[Category:Library]] |
Latest revision as of 23:33, 19 May 2023
Module
Version | World | Privilege |
---|---|---|
0.940-3.730.011 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.940-3.730.011 | SceDeci4pDfMgrForDebugger | Non-secure | Kernel | 0x849E3DF5 |
Types
typedef SceInt32 SceDfMgr_id; //ID returned by sceDfMgrOpen typedef int (* SceDfMgrOpen_handler)(int a1, void *a2, void *args); // Also used in sceSDfMgrOpenForKernel in System Software version 3.20 typedef struct SceDfMgrOpen_param_0940 { // Size is 0x1C-bytes SceSize size; uint32_t uProtocol; uint32_t unk8; uint32_t uVersion; uint32_t uVersionLimit; uint16_t unk14; // ex: 0 uint16_t unk16; // ex: 1 char *name; } SceDfMgrOpen_param_0940; typedef struct SceDfMgrOpen_param_360 { // Size is 0x38-bytes SceSize size; uint32_t uProtocol; uint32_t unk8; uint32_t uVersion; uint32_t uVersionLimit; uint16_t unk14; // ex: 0 uint16_t unk16; // ex: 1 char name[0x20]; } SceDfMgrOpen_param_360; // sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct *pInfoInt = (sceDeci4pDfMgrRegisterSysEventForDebugger_internal *)(data_seg + 0x14); // max number of entries is 32 typedef struct sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct { // size is 0x54 SceDfMgrOpen_handler handler; SceDfMgrOpen_param info; int data_0x3C; int data_0x40; int data_0x44; int data_0x48; int data_0x4C; int data_0x50; } sceDeci4pDfMgrRegisterSysEventForDebugger_internal_struct;
SceDeci4pDfMgrForDebugger
sceDfMgrCloseForDebugger
Version | NID |
---|---|
0.940-3.730.011 | 0x1CC6ED4B |
SceInt32 sceDfMgrCloseForDebugger(SceDfMgr_id id);
sceDfMgrOpenForDebugger
Version | NID |
---|---|
0.940-3.730.011 | 0x529979FB |
Handler is called on reboot/standby/suspend/SceShell process create.
Up to 32 handles can be opened at a time, and (besides some exceptions) there should be no duplicate IDs (unk4
of a2
).
// Returns an id (not UID) on success, < 0 on error. // 0x80080004 -> no entry remaining (too many Open) SceDfMgr_id sceDfMgrOpenForDebugger(SceDfMgrOpen_handler handler, SceDfMgrOpen_param *a2, void *args);
sceDfMgrRecvForDebugger
Version | NID |
---|---|
0.940-3.730.011 | 0x5F2C7E11 |
// Returns received size on success, < 0 on error. SceSSize sceDfMgrRecvForDebugger(SceDfMgr_id id, void* buf, SceSize size);
SceDeci4pDfMgrForDebugger_6D26CC56
Version | NID |
---|---|
0.940-3.730.011 | 0x6D26CC56 |
Writes val
as a 3-byte unsigned integer to ptr
.
void SceDeci4pDfMgrForDebugger_6D26CC56(void *ptr, SceUInt32 val);
sceDfMgrSendSpaceForDebugger
Version | NID |
---|---|
0.940-3.730.011 | 0x7EAE4FA2 |
SceInt32 sceDfMgrSendSpaceForDebugger(SceDfMgr_id id);
sceDfMgrReqSendForDebugger
Version | NID |
---|---|
0.940-3.730.011 | 0xBADEF855 |
SceInt32 sceDfMgrReqSendForDebugger(SceDfMgr_id id);
sceDfMgrSendForDebugger
Version | NID |
---|---|
0.940-3.730.011 | 0xC3390112 |
// Returns sent size on success, < 0 on error. SceSSize sceDfMgrSendForDebugger(SceDfMgr_id id, const void* buf, SceSize size);
SceDeci4pDfMgrForDebugger_CACAB5F9
Version | NID |
---|---|
0.940-3.730.011 | 0xCACAB5F9 |
Reads the value at ptr
as a 3-byte unsigned integer.
SceUInt32 SceDeci4pDfMgrForDebugger_CACAB5F9(void *ptr);
sceDfMgrDcmpReqSendForLoadpForDebugger
Version | NID |
---|---|
0.931.010-0.995.000 | not present |
2.500.071-3.730.011 | 0xD0CCF840 |