From dd5a1a691ea287a4b1aa39388698c6b83db3a77f Mon Sep 17 00:00:00 2001 From: Davee Date: Sun, 17 Feb 2019 14:33:29 +0000 Subject: add ksceKernelSysrootSetProcessHandler --- include/kernel/kernel/sysmem.h | 26 ++++++++++++++++++++++++++ nids/360/SceSysmem.yml | 1 + 2 files changed, 27 insertions(+) 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 -- cgit v1.2.3