diff options
-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 | ||||
-rw-r--r-- | nids/360/SceLibKernel.yml | 1 |
4 files changed, 29 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 diff --git a/nids/360/SceLibKernel.yml b/nids/360/SceLibKernel.yml index 5b48ce2..0316966 100644 --- a/nids/360/SceLibKernel.yml +++ b/nids/360/SceLibKernel.yml @@ -229,6 +229,7 @@ modules: sceKernelGetThreadId: 0x0FB972F9 sceKernelGetThreadInfo: 0x8D9C5461 sceKernelGetThreadRunStatus: 0xD6B01013 + sceKernelGetThreadSpecificInfo: 0x35D20E49 sceKernelGetTimerBase: 0x1F59E04D sceKernelGetTimerEventRemainingTime: 0x75B1EB3E sceKernelGetTimerInfo: 0x7E35E10A |