From 1f9e3b8b9d0bd4391fc0cbd1c5027601cb4653c1 Mon Sep 17 00:00:00 2001 From: Sergi Granell Date: Sun, 2 Sep 2018 11:09:43 +0200 Subject: Add ksceKernelEnqueueWorkQueue --- include/kernel/kernel/threadmgr.h | 16 ++++++++++++++++ nids/360/SceKernelThreadMgr.yml | 1 + 2 files changed, 17 insertions(+) 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 -- cgit v1.2.3