SceDeci4pSDfMgr: Difference between revisions
(Add sceSDfMgrExOpen and sceSDfMgrOpen) |
(→SceDeci4pSDfMgrForKernel: Add sceSDfMgrExClose and sceSDfMgrClose) |
||
Line 73: | Line 73: | ||
Open a SDfMgr socket. <code>openParam</code> is not retained and can be disposed of after this call. | Open a SDfMgr socket. <code>openParam</code> is not retained and can be disposed of after this call. | ||
<source lang="C">SceSDfMgrSocketId sceSDfMgrExOpen(SceSDfMgrEventHandler eventHandler, const SceSDfMgrOpenParam* openParam, void* pCommon);</source> | <source lang="C">SceSDfMgrSocketId sceSDfMgrExOpen(SceSDfMgrEventHandler eventHandler, const SceSDfMgrOpenParam* openParam, void* pCommon);</source> | ||
=== SceDeci4pSDfMgrForKernel_86CFC8C6 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.990 || 0x86CFC8C6 | |||
|} | |||
Potential name is <code>sceSDfMgrClose</code>. Acquires an interrupt-suspending lock and calls [[SceDeci4pSDfMgr#sceSDfMgrExClose|sceSDfMgrExClose]]. | |||
<source lang="C">SceInt32 SceDeci4pSDfMgrForKernel_86CFC8C6(SceSDfMgrSocketId sock);</source> | |||
=== sceSDfMgrExClose === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.990 || 0x90E8D453 | |||
|} | |||
Close a SDfMgr socket. | |||
<source lang="C">SceInt32 sceSDfMgrExClose(SceSDfMgrSocketId sock);</source> | |||
=== sceSDfMgrBreakSystem === | === sceSDfMgrBreakSystem === | ||
Line 176: | Line 196: | ||
SceDeci4pSDfMgrForKernel_682D0EFB: 0x682D0EFB | SceDeci4pSDfMgrForKernel_682D0EFB: 0x682D0EFB | ||
SceDeci4pSDfMgrForKernel_81E7C5BD: 0x81E7C5BD | SceDeci4pSDfMgrForKernel_81E7C5BD: 0x81E7C5BD | ||
SceDeci4pSDfMgrForKernel_98AEC60E: 0x98AEC60E | SceDeci4pSDfMgrForKernel_98AEC60E: 0x98AEC60E | ||
SceDeci4pSDfMgrForKernel_9A653F19: 0x9A653F19 | SceDeci4pSDfMgrForKernel_9A653F19: 0x9A653F19 |
Revision as of 16:43, 22 March 2022
Module
Version | World | Privilege |
---|---|---|
3.60-3.65 | Non-secure | Kernel |
Libraries
Known NIDs
Version | Name | World | Visibility | NID |
---|---|---|---|---|
0.990-3.65 | SceDeci4pSDfMgrForKernel | Non-secure | Kernel | 0xA1386CB2 |
Types
#define SCE_SDFMGR_EXCP_TYPE_PABT (0) #define SCE_SDFMGR_EXCP_TYPE_DABT (1) #define SCE_SDFMGR_EXCP_TYPE_UNDEF (2) #define SCE_SDFMGR_EXCP_TYPE_BUS (3) typedef int (* SceSDfMgrExceptionCallback)(SceExcpmgrExceptionContext *context, SceUInt32 pc, SceUInt32 cpsr); typedef SceInt32 SceSDfMgrSocketId; #define SCE_SDFMGR_EVENT_TYPE_1 (1) //recieved something #define SCE_SDFMGR_EVENT_TYPE_2 (2) #define SCE_SDFMGR_EVENT_TYPE_3 (3) //something to send #define SCE_SDFMGR_EVENT_TYPE_4 (4) #define SCE_SDFMGR_EVENT_TYPE_5 (5) #define SCE_SDFMGR_EVENT_TYPE_6 (6) typedef void (* SceSDfMgrEventHandler)(SceUInt32 event, void* eventData, void* pCommon); //<! pCommon is the data passed to Open/ExOpen typedef struct _SceSDfMgrOpenParam { SceSize size; //<! Size of this structure (0x1C) SceUInt32 clientId; //<! Unique number, used to identify called - must not be 0 SceUInt32 unk8; SceUInt32 unkC; SceUInt32 unk10; SceUInt16 unk14; SceUInt16 flags; //<! Bitflag: 0x1 makes the initial "status" 0x3 instead of 0x1, 0x2 makes a call to dcmpSendStatusProtocolAlias, ... char* name; //<! Name of the "caller" - example: DCMP } SceSDfMgrOpenParam;
SceDeci4pSDfMgrForKernel
SceDeci4pSDfMgrForKernel_A55F5F0D
Version | NID |
---|---|
0.990 | 0xA55F5F0D |
Potential name is sceSDfMgrOpen
. Acquires an interrupt-suspending lock and calls sceSDfMgrExOpen.
SceSDfMgrSocketId SceDeci4pSDfMgrForKernel_A55F5F0D(SceSDfMgrEventHandler eventHandler, const SceSDfMgrOpenParam* openParam, void* pCommon);
sceSDfMgrExOpen
Version | NID |
---|---|
0.990 | 0xCF4A3E03 |
Open a SDfMgr socket. openParam
is not retained and can be disposed of after this call.
SceSDfMgrSocketId sceSDfMgrExOpen(SceSDfMgrEventHandler eventHandler, const SceSDfMgrOpenParam* openParam, void* pCommon);
SceDeci4pSDfMgrForKernel_86CFC8C6
Version | NID |
---|---|
0.990 | 0x86CFC8C6 |
Potential name is sceSDfMgrClose
. Acquires an interrupt-suspending lock and calls sceSDfMgrExClose.
SceInt32 SceDeci4pSDfMgrForKernel_86CFC8C6(SceSDfMgrSocketId sock);
sceSDfMgrExClose
Version | NID |
---|---|
0.990 | 0x90E8D453 |
Close a SDfMgr socket.
SceInt32 sceSDfMgrExClose(SceSDfMgrSocketId sock);
sceSDfMgrBreakSystem
Version | NID |
---|---|
0.990 | 0xEDFBA012 |
Calls sceKernelGenerateSoftIntrForDriver(0, 1, 0)
.
SceInt32 sceSDfMgrBreakSystem();
SceDeci4pSDfMgrForKernel_FFC95B63
Version | NID |
---|---|
0.990 | 0xFFC95B63 |
Equivalent to SceDeci4pDfMgrForDebugger_6D26CC56.
Writes val
as a 3-byte unsigned integer to ptr
.
void SceDeci4pSDfMgrForKernel_FFC95B63(void* ptr, SceUInt32 val);
SceDeci4pSDfMgrForKernel_68903C1D
Version | NID |
---|---|
0.990 | 0x68903C1D |
Equivalent to SceDeci4pDfMgrForDebugger_CACAB5F9.
Reads value at ptr
as a 3-byte unsigned integer and returns it.
SceUInt32 SceDeci4pSDfMgrForKernel_68903C1D(void* ptr);
SceDeci4pSDfMgrForKernel_5996E2DB
Version | NID |
---|---|
0.990 | 0x5996E2DB |
Equivalent to memcpy
.
void* SceDeci4pSDfMgrForKernel_8A3B06F2(void* dst, void* src, size_t len);
SceDeci4pSDfMgrForKernel_8A3B06F2
Version | NID |
---|---|
0.990 | 0x8A3B06F2 |
Equivalent to memset
.
void* SceDeci4pSDfMgrForKernel_8A3B06F2(void* dst, int ch, size_t len);
sceSDfMgrUnregisterExcpHandlerForKernel
Version | NID |
---|---|
0.990 | 0xB050A0D5 |
Guessed name was sceSDfMgrUnregisterCpuExcpCallbackForKernel
.
This name is a deduction from sceSDfMgrRegisterExcpHandlerForKernel.
Unregisters an exception handler previously registered using sceSDfMgrRegisterExcpHandlerForKernel.
//Returns 0x80090001 if type >= 4, or func isn't the already registered callback SceInt32 sceSDfMgrUnregisterExcpHandlerForKernel(SceSDfMgrExceptionCallback func, SceUInt32 type);
sceSDfMgrRegisterExcpHandlerForKernel
Version | NID |
---|---|
0.990-3.60 | 0x6BF5553C |
Guessed name was sceSDfMgrRegisterCpuExcpCallbackForKernel
.
Used by SceDeci4pSDbgp.
//Returns 0x80090001 if type >= 4 //Returns 0x80090003 if a callback is already registered for this type SceInt32 sceSDfMgrRegisterExcpHandlerForKernel(SceSDfMgrExceptionCallback func, SceUInt32 type);
SceDeci4pSDfMgrForKernel_0A6437B6: 0x0A6437B6 SceDeci4pSDfMgrForKernel_11340BD4: 0x11340BD4 SceDeci4pSDfMgrForKernel_152D98DF: 0x152D98DF SceUInt32 SceDeci4pSDfMgrForKernel_35238B8A(void); // sceDeci4pSDfMgrGetMemoryTypeForKernel SceDeci4pSDfMgrForKernel_3A25594F: 0x3A25594F SceDeci4pSDfMgrForKernel_4D974C08: 0x4D974C08 SceDeci4pSDfMgrForKernel_4EA65698: 0x4EA65698 SceDeci4pSDfMgrForKernel_501CE61D: 0x501CE61D SceDeci4pSDfMgrForKernel_58D7597A: 0x58D7597A SceDeci4pSDfMgrForKernel_59C077B3: 0x59C077B3 SceDeci4pSDfMgrForKernel_682D0EFB: 0x682D0EFB SceDeci4pSDfMgrForKernel_81E7C5BD: 0x81E7C5BD SceDeci4pSDfMgrForKernel_98AEC60E: 0x98AEC60E SceDeci4pSDfMgrForKernel_9A653F19: 0x9A653F19 SceDeci4pSDfMgrForKernel_A963E333: 0xA963E333 // trigger some SGI SceDeci4pSDfMgrForKernel_B050A0D5: 0xB050A0D5 SceDeci4pSDfMgrForKernel_B22B42FB: 0xB22B42FB SceDeci4pSDfMgrForKernel_B44083E1: 0xB44083E1 SceDeci4pSDfMgrForKernel_BFB482D8: 0xBFB482D8 SceDeci4pSDfMgrForKernel_C38EA67A: 0xC38EA67A SceDeci4pSDfMgrForKernel_DAFE03AD: 0xDAFE03AD // maybe write sdbgsdio SceDeci4pSDfMgrForKernel_E53400AE: 0xE53400AE SceDeci4pSDfMgrForKernel_F43F5941: 0xF43F5941 // maybe read sdbgsdio SceDeci4pSDfMgrForKernel_FCF211FB: 0xFCF211FB