summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--include/user/kernel/threadmgr.h28
-rw-r--r--nids/360/SceLibKernel.yml8
2 files changed, 36 insertions, 0 deletions
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: