summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/kernel/kernel/threadmgr.h16
-rw-r--r--nids/360/SceKernelThreadMgr.yml1
2 files changed, 17 insertions, 0 deletions
diff --git a/include/kernel/kernel/threadmgr.h b/include/kernel/kernel/threadmgr.h
index 8990a7b..391f277 100644
--- a/include/kernel/kernel/threadmgr.h
+++ b/include/kernel/kernel/threadmgr.h
@@ -829,6 +829,22 @@ int sceKernelRunWithStack(int stack_size, int (*to_call)(void *), void *args);
*/
int sceKernelGetFaultingProcess(SceKernelFaultingProcessInfo *info);
+/* Workqueues */
+
+typedef int (*SceKernelWorkQueueWorkFunction)(void *args);
+
+/**
+ * @brief Enqueue work to a workqueue
+ *
+ * @param[in] uid UID of the workqueue (0x10023 for the SceKernelGlobalWorkQueue)
+ * @param[in] name Name of the work to enqueue
+ * @param[in] work Work function to enqueue
+ * @param[in] args Argument to pass to the work function
+ *
+ * @return Zero on success
+ */
+int sceKernelEnqueueWorkQueue(SceUID uid, const char *name, SceKernelWorkQueueWorkFunction work, void *args);
+
#ifdef __cplusplus
}
#endif
diff --git a/nids/360/SceKernelThreadMgr.yml b/nids/360/SceKernelThreadMgr.yml
index 8f5994d..36f1cab 100644
--- a/nids/360/SceKernelThreadMgr.yml
+++ b/nids/360/SceKernelThreadMgr.yml
@@ -129,6 +129,7 @@ modules:
sceKernelDeleteMutex: 0x0A912340
sceKernelDeleteSema: 0x16A35E58
sceKernelDeleteThread: 0xAC834F3F
+ sceKernelEnqueueWorkQueue: 0xE50E1185
sceKernelExitDeleteThread: 0x1D17DECF
sceKernelExitThread: 0x0C8A38E1
sceKernelGetCallbackCount: 0x0892D8DF