diff options
author | Davee | 2018-10-28 16:06:42 +0000 |
---|---|---|
committer | Sunguk Lee | 2018-10-29 01:33:31 +0900 |
commit | 1497c9b317a8cdc41838c167e2fd8d8998bfe487 (patch) | |
tree | e2deef85512834e434477e947cc0b998c9676744 | |
parent | add ksceAppMgrKillProcess (diff) | |
download | vds-libraries-1497c9b317a8cdc41838c167e2fd8d8998bfe487.tar.gz |
add ksceKernelGetThreadIdList
ksceKernelGetThreadIdList is a kernel service used to query and obtain the number of thread within a process.
-rw-r--r-- | include/kernel/kernel/threadmgr.h | 10 | ||||
-rw-r--r-- | nids/360/SceKernelThreadMgr.yml | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/include/kernel/kernel/threadmgr.h b/include/kernel/kernel/threadmgr.h index 391f277..c329544 100644 --- a/include/kernel/kernel/threadmgr.h +++ b/include/kernel/kernel/threadmgr.h @@ -845,6 +845,16 @@ typedef int (*SceKernelWorkQueueWorkFunction)(void *args); */ int sceKernelEnqueueWorkQueue(SceUID uid, const char *name, SceKernelWorkQueueWorkFunction work, void *args); +/** + * @brief Retreive a list of all threads belonging to a process. + * @param[in] pid The process to query. + * @param[out] ids The list of thread ids. Can be NULL if output is not required. + * @param[in] n The max number of thread ids to copy out. + * @param[out] copy_count The number of thread ids copied. + * @return The number of threads within the process, else < 0 on error. + */ +int sceKernelGetThreadIdList(SceUID pid, SceUID *ids, int n, int *copy_count); + #ifdef __cplusplus } #endif diff --git a/nids/360/SceKernelThreadMgr.yml b/nids/360/SceKernelThreadMgr.yml index 36f1cab..75972f6 100644 --- a/nids/360/SceKernelThreadMgr.yml +++ b/nids/360/SceKernelThreadMgr.yml @@ -139,6 +139,7 @@ modules: sceKernelGetThreadCpuAffinityMask: 0x83DC703D sceKernelGetThreadCurrentPriority: 0x01414F0B sceKernelGetThreadId: 0x59D06540 + sceKernelGetThreadIdList: 0xEA7B8AEF sceKernelGetThreadStackFreeSize: 0x7B278A0B sceKernelGetThreadTLSAddr: 0x66EEA46A sceKernelGetThreadmgrUIDClass: 0x0A20775A |