diff options
-rw-r--r-- | include/kernel/kernel/sysmem.h | 26 | ||||
-rw-r--r-- | nids/360/SceSysmem.yml | 1 |
2 files changed, 27 insertions, 0 deletions
diff --git a/include/kernel/kernel/sysmem.h b/include/kernel/kernel/sysmem.h index 3675526..1f03ede 100644 --- a/include/kernel/kernel/sysmem.h +++ b/include/kernel/kernel/sysmem.h @@ -458,6 +458,32 @@ int sceDebugPutchar(int character); int sceDebugDisableInfoDump(int flag); +typedef struct +{ + size_t size; //!< sizeof(SceSysrootProcessHandler) + int (* unk_4)(void); + int (* unk_8)(void); + int (* unk_C)(void); + int (* unk_10)(void); + int (* unk_14)(void); + int (* unk_18)(void); + int (* on_process_created)(void); //!< called when process is created + int (* unk_20)(void); + int (* unk_24)(void); +} SceSysrootProcessHandler; + +/** + * Set handlers for the process lifecycle. + * + * This internal function allows a developer to introspect and receive events based + * on the process lifecycle. + * + * @param[in] handlers Pointer to struct containing the handlers. This function does not copy the handlers, so this pointer must remain valid after a successful call. + * + * @return 0 on success, < 0 on error. + */ +int sceKernelSysrootSetProcessHandler(const SceSysrootProcessHandler *handlers); + #ifdef __cplusplus } #endif diff --git a/nids/360/SceSysmem.yml b/nids/360/SceSysmem.yml index 2d89538..1de0c63 100644 --- a/nids/360/SceSysmem.yml +++ b/nids/360/SceSysmem.yml @@ -476,6 +476,7 @@ modules: sceKernelSysrootIofilemgrStart: 0xF6A6D205 sceKernelSysrootIsUserModeThread: 0x7FC7A163 sceKernelSysrootProcessmgrStart2: 0x62E8F511 + sceKernelSysrootSetProcessHandler: 0x0F07C3FC sceKernelSysrootSetSysroot: 0x36916C30 sceSysrootGetFactorySystemSwVersion: 0xD3872270 sceSysrootGetModuleInfoForPid: 0xFF9F80FF |