diff options
author | GrapheneCt | 2020-09-05 14:35:48 -0400 |
---|---|---|
committer | Reiko Asakura | 2020-09-05 14:35:48 -0400 |
commit | 585afbfad7d441737c8c265a8f88ec259f7da8ed (patch) | |
tree | cf99eb9895299c10bd3f148ea4de182ac6c456c9 /include | |
parent | Add paf wchar functions prototypes (diff) | |
download | vds-libraries-585afbfad7d441737c8c265a8f88ec259f7da8ed.tar.gz |
Add thread related function and types
Credits: Graphene
Diffstat (limited to 'include')
-rw-r--r-- | include/common/kernel/threadmgr.h | 13 | ||||
-rw-r--r-- | include/kernel/kernel/threadmgr.h | 8 | ||||
-rw-r--r-- | include/user/kernel/threadmgr.h | 22 |
3 files changed, 28 insertions, 15 deletions
diff --git a/include/common/kernel/threadmgr.h b/include/common/kernel/threadmgr.h index 0077fc5..f8b2924 100644 --- a/include/common/kernel/threadmgr.h +++ b/include/common/kernel/threadmgr.h @@ -266,6 +266,19 @@ typedef SceInt32 (*SceKernelThreadEntry)(SceSize argSize, void *pArgBlock); #define SCE_KERNEL_RW_LOCK_CANCEL_WITH_WRITE_LOCK (1) +// Types + +typedef struct _SceKernelThreadOptParam { + /** Size of the ::SceKernelThreadOptParam structure. */ + SceSize size; + SceUInt32 attr; + SceKernelMemBlockType memType1; + SceKernelMemBlockType memType2; + SceInt32 unk0x10; + SceInt32 unk0x14; + SceInt32 unk0x1C; +} SceKernelThreadOptParam; + #if defined(_LANGUAGE_C_PLUS_PLUS)||defined(__cplusplus)||defined(c_plusplus) } #endif diff --git a/include/kernel/kernel/threadmgr.h b/include/kernel/kernel/threadmgr.h index 445c806..edd690b 100644 --- a/include/kernel/kernel/threadmgr.h +++ b/include/kernel/kernel/threadmgr.h @@ -9,14 +9,6 @@ extern "C" { /* Threads. */ -/** Additional options used when creating threads. */ -typedef struct SceKernelThreadOptParam { - /** Size of the ::SceKernelThreadOptParam structure. */ - SceSize size; - /** Attributes */ - SceUInt32 attr; -} SceKernelThreadOptParam; - /** Structure to hold the status information for a thread * @see sceKernelGetThreadInfo */ diff --git a/include/user/kernel/threadmgr.h b/include/user/kernel/threadmgr.h index a1fa266..ccc44da 100644 --- a/include/user/kernel/threadmgr.h +++ b/include/user/kernel/threadmgr.h @@ -9,13 +9,6 @@ extern "C" { /* Threads. */ -/** Additional options used when creating threads. */ -typedef struct _SceKernelThreadOptParam { - /** Size of the ::SceKernelThreadOptParam structure. */ - SceSize size; - SceUInt32 attr; -} SceKernelThreadOptParam; - /** Structure to hold the status information for a thread * @see sceKernelGetThreadInfo */ @@ -1582,6 +1575,21 @@ void *sceKernelGetThreadTLSAddr(SceUID thid, int key); */ void *sceKernelGetTLSAddr(int key); +typedef enum _SceKernelThreadSpecificInfo { + SCE_THREAD_SPECIFIC_INFO_UNK_0, + SCE_THREAD_SPECIFIC_INFO_ID, + SCE_THREAD_SPECIFIC_INFO_STACK_START_ADDRESS, + SCE_THREAD_SPECIFIC_INFO_STACK_END_ADDRESS, + SCE_THREAD_SPECIFIC_INFO_VFP_EXCEPTION, + SCE_THREAD_SPECIFIC_INFO_LWMUTEX_STATUS, + SCE_THREAD_SPECIFIC_INFO_UNK_6, + SCE_THREAD_SPECIFIC_INFO_UNK_7, + SCE_THREAD_SPECIFIC_INFO_PRIORITY, + SCE_THREAD_SPECIFIC_INFO_AFFINITY, +} SceKernelThreadSpecificInfo; + +SceUnion32 sceKernelGetThreadSpecificInfo(SceUID threadId, SceKernelThreadSpecificInfo info); + #ifdef __cplusplus } #endif |