Difference between revisions of "SceDeci4pDfMgr"
Jump to navigation
Jump to search
CelesteBlue (talk | contribs) |
|||
(16 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. | Handler is called on reboot/standby/suspend/SceShell process create. | ||
− | Up to 32 | + | 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 80: | 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 129: | 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 |