diff options
Diffstat (limited to '')
-rw-r--r-- | include/kernel/kernel/threadmgr.h | 16 | ||||
-rw-r--r-- | nids/360/SceKernelThreadMgr.yml | 1 |
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 |