From 0d864debe74eeb8eec26644ad669aba736cf13ac Mon Sep 17 00:00:00 2001 From: GrapheneCt Date: Fri, 18 Sep 2020 16:04:39 -0400 Subject: Add SceKernelForMono functions Credits: Graphene --- include/user/kernel/threadmgr.h | 28 ++++++++++++++++++++++++++++ nids/360/SceLibKernel.yml | 8 ++++++++ 2 files changed, 36 insertions(+) diff --git a/include/user/kernel/threadmgr.h b/include/user/kernel/threadmgr.h index 95723ff..6ebd8b3 100644 --- a/include/user/kernel/threadmgr.h +++ b/include/user/kernel/threadmgr.h @@ -1613,6 +1613,34 @@ typedef enum _SceKernelThreadSpecificInfo { SceUnion32 sceKernelGetThreadSpecificInfo(SceUID threadId, SceKernelThreadSpecificInfo info); +/* + * Mono thread support functions + */ + +typedef struct SceKernelThreadContextForMono1 { + SceSize size; + char unk[0x54]; +} SceKernelThreadContextForMono1; + +typedef struct SceKernelThreadContextForMono2 { + SceSize size; + char unk[0x104]; +} SceKernelThreadContextForMono2; + +int sceKernelSuspendThreadForMono(SceUID threadId); + +int sceKernelResumeThreadForMono(SceUID threadId); + +int sceKernelGetThreadContextForMono( + SceUID threadId, + SceKernelThreadContextForMono1* outContext1, + SceKernelThreadContextForMono2* outContext2); + +int sceKernelSetThreadContextForMono( + SceUID threadId, + SceKernelThreadContextForMono1* inContext1, + SceKernelThreadContextForMono2* inContext2); + #ifdef __cplusplus } #endif diff --git a/nids/360/SceLibKernel.yml b/nids/360/SceLibKernel.yml index 0316966..b171c00 100644 --- a/nids/360/SceLibKernel.yml +++ b/nids/360/SceLibKernel.yml @@ -2,6 +2,14 @@ modules: SceLibKernel: nid: 0xF9C9C52F libraries: + SceKernelForMono: + nid: 0x5FEEA076 + functions: + sceKernelGetThreadContextForMono: 0xAD210F16 + sceKernelResumeThreadForMono: 0x9A6D085B + sceKernelSetThreadContextForMono: 0x92A0964D + sceKernelSuspendThreadForMono: 0x38839DA2 + sceKernelWaitExceptionForMono: 0x1BECC64C SceLibKernel: nid: 0xCAE9ACE6 functions: -- cgit v1.2.3