SceLibKernel: Difference between revisions
CelesteBlue (talk | contribs) |
CelesteBlue (talk | contribs) No edit summary |
||
(85 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
== Module == | == Module == | ||
This is a usermode module | This is a usermode module. The SELF can be found in <code>os0:us/libkernel.suprx</code>. | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version | ! Version !! World !! Privilege | ||
|- | |- | ||
| 1. | | 1.000.071-3.740.011 || Non-secure || User | ||
|} | |} | ||
Line 19: | Line 19: | ||
! Version !! Name !! World !! Privilege !! NID | ! Version !! Name !! World !! Privilege !! NID | ||
|- | |- | ||
| 1. | | 1.030.071-3.740.011 || [[SceLibKernel#SceLibKernel|SceLibKernel]] || Non-secure || User || 0xCAE9ACE6 | ||
|- | |- | ||
| 1. | | 1.600.061-3.740.011 || [[SceLibKernel#SceLibRng|SceLibRng]] || Non-secure || User || 0xF9AC7CF8 | ||
|- | |- | ||
| 1. | | 1.030.071-3.740.011 || [[SceLibKernel#SceLibGcc|SceLibGcc]] || Non-secure || User || 0x567AF9A6 | ||
|- | |- | ||
| 1. | | 1.500.151-3.740.011 || [[SceLibKernel#SceLibSsp|SceLibSsp]] || Non-secure || User || 0x8FA98EF1 | ||
|- | |- | ||
| 1. | | 1.030.071-3.740.011 || [[SceLibKernel#SceRtabi|SceRtabi]]|| Non-secure || User || 0xA941943F | ||
|- | |- | ||
| 1. | | 1.030.071-3.740.011 || [[SceLibKernel#SceKernelForVM|SceKernelForVM]] || Non-secure || User || 0xA2B3EA8F | ||
|- | |- | ||
| 3. | | 2.500.071-3.740.011 || [[SceLibKernel#SceKernelForMono|SceKernelForMono]] || Non-secure || User || 0x5FEEA076 | ||
|} | |} | ||
== SceLibKernel == | == SceLibKernel == | ||
1.030.071 SceLibKernel functions to wikify: | |||
<pre> | |||
sceKernelGetTLSAddr 0xb295eb61 | |||
sceKernelGetThreadId 0x0fb972f9 | |||
sceKernelGetCurrentThreadVfpException 0xa37a6057 | |||
sceKernelSendMsgPipe 0x0ca71ea2 | |||
sceKernelSendMsgPipeCB 0xa5ca74ac | |||
sceKernelTrySendMsgPipe 0xdfc670e0 | |||
sceKernelReceiveMsgPipe 0x4e81dd5c | |||
sceKernelReceiveMsgPipeCB 0x33af829b | |||
sceKernelTryReceiveMsgPipe 0x5615b006 | |||
sceKernelWaitThreadEnd 0xddb395a9 | |||
sceKernelWaitThreadEndCB 0xc54941ed | |||
sceKernelGetThreadExitStatus 0xd5dc26c4 | |||
sceKernelStartThread 0xf08de149 | |||
sceKernelDeleteThread 0x58ddac4f | |||
sceKernelChangeThreadCpuAffinityMask 0x5150577b | |||
sceKernelGetThreadCpuAffinityMask 0x8c57ac2a | |||
sceKernelChangeThreadPriority 0xdf7e6eda | |||
sceKernelGetThreadStackFreeSize 0xbcb63b66 | |||
sceKernelGetThreadInfo 0x8d9c5461 | |||
sceKernelGetThreadRunStatus 0xd6b01013 | |||
sceKernelGetSystemInfo 0xe0241faa | |||
sceKernelGetThreadmgrUIDClass 0xf994fe65 | |||
sceKernelGetActiveCpuMask 0xb4de10c7 | |||
sceKernelChangeThreadVfpException 0x2c1321a3 | |||
sceKernelCreateCallback 0x3849359a | |||
sceKernelGetCallbackInfo 0x88dd1bc8 | |||
sceKernelDeleteCallback 0x464559d3 | |||
sceKernelNotifyCallback 0xbd9c8f2b | |||
sceKernelCancelCallback 0x3137a687 | |||
sceKernelGetCallbackCount 0x76a2ef81 | |||
sceKernelRegisterCallbackToEvent 0xd4f75281 | |||
sceKernelUnregisterCallbackFromEvent 0x8d3940df | |||
sceKernelUnregisterCallbackFromEventAll 0x2bd1e682 | |||
sceKernelWaitEventCB 0xa0490795 | |||
sceKernelPollEvent 0x241f3634 | |||
sceKernelCancelEvent 0x603ab770 | |||
sceKernelWaitMultipleEvents 0x10586418 | |||
sceKernelWaitMultipleEventsCB 0x4263dbc9 | |||
sceKernelCreateEventFlag 0x8516d040 | |||
sceKernelDeleteEventFlag 0x11fe9b8b | |||
sceKernelOpenEventFlag 0xe04ec73a | |||
sceKernelCloseEventFlag 0x9c0b8285 | |||
sceKernelWaitEventFlag 0x83c0e2af | |||
sceKernelWaitEventFlagCB 0xe737b1df | |||
sceKernelPollEventFlag 0x1fbb0fe1 | |||
sceKernelCancelEventFlag 0x2a12d9b7 | |||
sceKernelGetEventFlagInfo 0x8ba4c0c1 | |||
sceKernelSetEventFlag 0x9ef9c0c5 | |||
sceKernelClearEventFlag 0xd018793f | |||
sceKernelCreateSema 0x297aa2ae | |||
sceKernelDeleteSema 0xc08f5bc5 | |||
sceKernelOpenSema 0xb028ab78 | |||
sceKernelCloseSema 0x817707ab | |||
sceKernelWaitSema 0x0c7b834b | |||
sceKernelWaitSemaCB 0x174692b4 | |||
sceKernelCancelSema 0x66d6bf05 | |||
sceKernelGetSemaInfo 0x595d3fa6 | |||
sceKernelPollSema 0x3012a9c6 | |||
sceKernelSignalSema 0x2053a496 | |||
sceKernelCreateCond 0x50572fda | |||
sceKernelOpenCond 0xcb2a73a9 | |||
sceKernelCloseCond 0x4fb91a89 | |||
sceKernelWaitCond 0xc88d44ad | |||
sceKernelWaitCondCB 0x4ce42ce2 | |||
sceKernelGetCondInfo 0x6864dce2 | |||
sceKernelSignalCondAll 0x2eb86929 | |||
sceKernelSignalCondTo 0x087629e6 | |||
sceKernelCreateMsgPipe 0x0a10c1c8 | |||
sceKernelDeleteMsgPipe 0x69f6575d | |||
sceKernelOpenMsgPipe 0x230691da | |||
sceKernelCloseMsgPipe 0x7e5c0c16 | |||
sceKernelSendMsgPipeVector 0x94d506f7 | |||
sceKernelSendMsgPipeVectorCB 0x9c6f7f79 | |||
sceKernelTrySendMsgPipeVector 0x60db346f | |||
sceKernelReceiveMsgPipeVector 0x9f899087 | |||
sceKernelReceiveMsgPipeVectorCB 0xbe5b3e27 | |||
sceKernelTryReceiveMsgPipeVector 0x86ecc0ff | |||
sceKernelCancelMsgPipe 0xef14ba37 | |||
sceKernelGetMsgPipeInfo 0x4046d16b | |||
sceKernelCreateLwCond 0x48c7eae6 | |||
sceKernelDeleteLwCond 0x721f6cb3 | |||
sceKernelWaitLwCond 0xe1878282 | |||
sceKernelWaitLwCondCB 0x8fa54b07 | |||
sceKernelSignalLwCond 0x3ac63b9a | |||
sceKernelSignalLwCondAll 0xe5241a0c | |||
sceKernelSignalLwCondTo 0xfc1a48eb | |||
sceKernelGetLwCondInfo 0xe4df36a0 | |||
sceKernelGetLwCondInfoById 0x971f1de8 | |||
sceKernelCreateTimer 0x2255b2a5 | |||
sceKernelDeleteTimer 0x746f3290 | |||
sceKernelOpenTimer 0x2f3d35a3 | |||
sceKernelCloseTimer 0x17283de6 | |||
sceKernelStartTimer 0x1478249b | |||
sceKernelStopTimer 0x075b1329 | |||
sceKernelGetTimerBaseWide 0x3223ccd1 | |||
sceKernelGetTimerTimeWide 0x53c5d833 | |||
sceKernelSetTimerTimeWide 0xaf67678b | |||
sceKernelCreateRWLock 0x8667951d | |||
sceKernelDeleteRWLock 0x3d750204 | |||
sceKernelOpenRWLock 0xba4dac9a | |||
sceKernelCloseRWLock 0xa7f94e64 | |||
sceKernelLockReadRWLock 0xfa670f0f | |||
sceKernelLockReadRWLockCB 0x2d4a62b7 | |||
sceKernelTryLockReadRWLock 0x1b8586c0 | |||
sceKernelUnlockReadRWLock 0x675d10a8 | |||
sceKernelLockWriteRWLock 0x67a187bb | |||
sceKernelLockWriteRWLockCB 0xa4777082 | |||
sceKernelTryLockWriteRWLock 0x597d4607 | |||
sceKernelUnlockWriteRWLock 0xd9369df2 | |||
sceKernelCancelRWLock 0x190ca94b | |||
sceKernelGetRWLockInfo 0x079a573b | |||
sceKernelGetSystemTime 0x8af15b5f | |||
sceKernelPMonThreadGetCounter 0x99b2bf15 | |||
sceKernelPMonCpuGetCounter 0x7c21c961 | |||
sceKernelWaitSignal 0xadca94e5 | |||
sceKernelWaitSignalCB 0x24460bb3 | |||
sceKernelSendSignal 0x7be9c4c8 | |||
sceKernelCreateThread 0xc5c11ee7 | |||
sceSblACMgrIsGameProgram 0x963f4a99 | |||
sceKernelGetOpenPsId 0x261e2c34 | |||
</pre> | |||
=== sceKernelWaitEvent === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x120F03AF | |||
|} | |||
<source lang="C">SceInt32 sceKernelWaitEvent(SceUID eventId, SceUInt32 waitPattern, SceUInt32 *pResultPattern, SceUInt64 *pUserData, SceUInt32 *pTimeout);</source> | |||
=== sceKernelSetTimerTime === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xFFAD717F | |||
|} | |||
<source lang="C">int sceKernelSetTimerTime(SceUID timerId, SceUInt64 *time);</source> | |||
=== sceKernelSetTimerEvent === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x621D293B | |||
|} | |||
<source lang="C">int sceKernelSetTimerEvent(SceUID timerId, int type, SceUInt64 *time, SceBool repeat);</source> | |||
=== sceKernelGetTimerTime === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x381DC300 | |||
|} | |||
<source lang="C">int sceKernelGetTimerTime(SceUID timerId, SceUInt64 *time);</source> | |||
=== sceKernelGetTimerInfo === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x7E35E10A | |||
|} | |||
<source lang="C">int sceKernelGetTimerInfo(SceUID timerId, void *pInfo);</source> | |||
=== sceKernelGetTimerEventRemainingTime === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x75B1EB3E | |||
|} | |||
<source lang="C">int sceKernelGetTimerEventRemainingTime(SceUID timerId, SceUInt64 *time);</source> | |||
=== sceKernelGetTimerBase === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x1F59E04D | |||
|} | |||
<source lang="C">int sceKernelGetTimerBase(SceUID timerId, SceUInt64 *result);</source> | |||
=== sceKernelCancelTimer === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x9CCF768C | |||
|} | |||
<source lang="C">int sceKernelCancelTimer(SceUID timerId, SceUInt32 *a2);</source> | |||
=== sceKernelAtomicAddAndGet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x8F7BD940 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicAddAndGet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicAddAndGet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x495C52EC | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicAddAndGet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicAddAndGet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x2E84A93B | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicAddAndGet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicAddAndGet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xB6CE9B9A | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicAddAndGet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicAddUnless8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x7FD94393 | |||
|} | |||
<source lang="C">SceBool sceKernelAtomicAddUnless8(SceInt8 *store, SceInt8 value, SceInt8 cmpv);</source> | |||
=== sceKernelAtomicAddUnless16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x1CF4AA4B | |||
|} | |||
<source lang="C">SceBool sceKernelAtomicAddUnless16(SceInt16 *store, SceInt16 value, SceInt16 cmpv);</source> | |||
=== sceKernelAtomicAddUnless32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x4B33FD3C | |||
|} | |||
<source lang="C">SceBool sceKernelAtomicAddUnless32(SceInt32 *store, SceInt32 value, SceInt32 cmpv);</source> | |||
=== sceKernelAtomicAddUnless64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xFFCE7438 | |||
|} | |||
<source lang="C">SceBool sceKernelAtomicAddUnless64(SceInt64 *store, SceInt64 value, SceInt64 cmpv);</source> | |||
=== sceKernelAtomicAndAndGet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x86B9170F | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicAndAndGet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicAndAndGet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xF9890F7E | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicAndAndGet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicAndAndGet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x6709D30C | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicAndAndGet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicAndAndGet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xAED2B370 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicAndAndGet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicClearAndGet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x17B40010 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicClearAndGet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicClearAndGet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xCC36B775 | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicClearAndGet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicClearAndGet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x9DAA0DE8 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicClearAndGet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicClearAndGet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x264209F3 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicClearAndGet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicClearMask8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xD7D49E36 | |||
|} | |||
<source lang="C">void sceKernelAtomicClearMask8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicClearMask16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x5FE7DFF8 | |||
|} | |||
<source lang="C">void sceKernelAtomicClearMask16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicClearMask32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xE3DF0CB3 | |||
|} | |||
<source lang="C">void sceKernelAtomicClearMask32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicClearMask64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x953D118A | |||
|} | |||
<source lang="C">void sceKernelAtomicClearMask64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicCompareAndSet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x327DB4C0 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicCompareAndSet8(SceInt8 *store, SceInt8 value, SceInt8 new);</source> | |||
=== sceKernelAtomicCompareAndSet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xE8C01236 | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicCompareAndSet16(SceInt16 *store, SceInt16 value, SceInt16 new);</source> | |||
=== sceKernelAtomicCompareAndSet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x1124A1D4 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicCompareAndSet32(SceInt32 *store, SceInt32 value, SceInt32 new);</source> | |||
=== sceKernelAtomicCompareAndSet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x1EBDFCCD | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicCompareAndSet64(SceInt64 *store, SceInt64 value, SceInt64 new);</source> | |||
=== sceKernelAtomicDecIfPositive8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x9DABE6C3 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicDecIfPositive8(SceInt8 *store);</source> | |||
=== sceKernelAtomicDecIfPositive16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x323718FB | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicDecIfPositive16(SceInt16 *store);</source> | |||
=== sceKernelAtomicDecIfPositive32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xCA3294F1 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicDecIfPositive32(SceInt32 *store);</source> | |||
=== sceKernelAtomicDecIfPositive64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x8BE2A007 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicDecIfPositive64(SceInt64 *store);</source> | |||
=== sceKernelAtomicGetAndAdd8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x27A2AAFA | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndAdd8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndAdd16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x5674DB0C | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndAdd16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndAdd32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x2611CB0B | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndAdd32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndAdd64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x63DAF37D | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndAdd64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicGetAndAnd8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x53DCA02B | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndAnd8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndAnd16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x7A0CB056 | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndAnd16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndAnd32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x08266595 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndAnd32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndAnd64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x4828BC43 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndAnd64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicGetAndClear8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xA10873A4 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndClear8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndClear16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x57CD7E7D | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndClear16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndClear32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x0226A017 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndClear32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndClear64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x436AA0B5 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndClear64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicGetAndOr8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x107A68DF | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndOr8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndOr16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x31E49E73 | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndOr16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndOr32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x984AD276 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndOr32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndOr64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xC39186CD | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndOr64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicGetAndSet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x2672EA0B | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndSet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndSet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xF7B9ADFC | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndSet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndSet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x9B43E667 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndSet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndSet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xD82B3A7A | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndSet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicGetAndSub8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xCDF5DF67 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndSub8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndSub16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xAC51979C | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndSub16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndSub32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x115C516F | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndSub32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndSub64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x4AE9C8E6 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndSub64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicGetAndXor8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x7350B2DF | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicGetAndXor8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicGetAndXor16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x6E2D0B9E | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicGetAndXor16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicGetAndXor32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x38739E2F | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicGetAndXor32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicGetAndXor64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x6A19BBE9 | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicGetAndXor64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicOrAndGet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x51693931 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicOrAndGet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicOrAndGet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x8E248EBD | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicOrAndGet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicOrAndGet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xC3B2F7F8 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicOrAndGet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicOrAndGet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x809BBC7D | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicOrAndGet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicSet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xE960FDA2 | |||
|} | |||
<source lang="C">void sceKernelAtomicSet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicSet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x450BFECF | |||
|} | |||
<source lang="C">void sceKernelAtomicSet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicSet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xB69DA09B | |||
|} | |||
<source lang="C">void sceKernelAtomicSet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicSet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xC8A4339C | |||
|} | |||
<source lang="C">void sceKernelAtomicSet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicSubAndGet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x99E1796E | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicSubAndGet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicSubAndGet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xC26BBBB1 | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicSubAndGet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicSubAndGet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x01C9CD92 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicSubAndGet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicSubAndGet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x9BB4A94B | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicSubAndGet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelAtomicXorAndGet8 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x634AF062 | |||
|} | |||
<source lang="C">SceInt8 sceKernelAtomicXorAndGet8(SceInt8 *store, SceInt8 value);</source> | |||
=== sceKernelAtomicXorAndGet16 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x6F524195 | |||
|} | |||
<source lang="C">SceInt16 sceKernelAtomicXorAndGet16(SceInt16 *store, SceInt16 value);</source> | |||
=== sceKernelAtomicXorAndGet32 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0x46940704 | |||
|} | |||
<source lang="C">SceInt32 sceKernelAtomicXorAndGet32(SceInt32 *store, SceInt32 value);</source> | |||
=== sceKernelAtomicXorAndGet64 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.20 || 0xDDC6866E | |||
|} | |||
<source lang="C">SceInt64 sceKernelAtomicXorAndGet64(SceInt64 *store, SceInt64 value);</source> | |||
=== sceKernelOpenMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-1.692.000 || 0x16B85235 | |||
|- | |||
| 1.800.060-3.740.011 || not present | |||
|} | |||
=== sceKernelCloseMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-1.692.000 || 0x43DDC9CC | |||
|- | |||
| 1.800.060-3.740.011 || not present | |||
|} | |||
=== sceKernelTryLockMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-1.692.000 || 0xE5901FF9 | |||
|- | |||
| 1.800.060-3.740.011 || not present | |||
|} | |||
=== sceKernelUnlockMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-1.692.000 || 0x34746309 | |||
|- | |||
| 1.800.060-3.740.011 || not present | |||
|} | |||
=== sceKernelDeleteMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.930.010-1.692.000 || 0x12D11F65 | |||
|- | |||
| 1.800.060-3.740.011 || not present | |||
|} | |||
<source lang="C">int sceKernelDeleteMutex(SceUID mutex_id);</source> | |||
=== sceKernelCreateMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xED53334A | |||
|} | |||
=== sceKernelLockMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x1D8D7945 | |||
|} | |||
=== sceKernelLockMutexCB === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x2BDAA524 | |||
|} | |||
=== sceKernelCancelMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x2144890D | |||
|} | |||
=== sceKernelGetMutexInfo === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x9A6C43CA | |||
|} | |||
=== sceKernelCreateLwMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xDA6EC8EF | |||
|} | |||
=== sceKernelDeleteLwMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x244E76D2 | |||
|} | |||
=== sceKernelGetLwMutexInfoById === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x4846613D | |||
|} | |||
=== sceKernelGetLwMutexInfo === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xF7D8F1FC | |||
|} | |||
=== sceKernelUnlockLwMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x499EA781 | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#sceKernelUnlockLwMutex|SceKernelThreadMgr#_sceKernelUnlockLwMutex]]. | |||
<source lang="C">int sceKernelUnlockLwMutex(SceLwMutex *mutex, SceUInt32 count);</source> | |||
=== sceKernelLockLwMutex_old === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xA6A2C915 | |||
|} | |||
This is a guessed name. Temp name was sceKernelTryLockLwMutex. | |||
PSP-like "sceKernelTryLockLwMutex". | |||
<source lang="C">int sceKernelLockLwMutex_old(SceLwMutex *mutex, SceUInt32 count);</source> | |||
=== sceKernelLockLwMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xA7819967 | |||
|} | |||
It calls PSP-like [[#sceKernelLockLwMutex_old]], and on failure [[SceKernelThreadMgr#_sceKernelLockLwMutex]] with flag 0 (non-CB). | |||
<source lang="C">int sceKernelLockLwMutex(SceLwMutex *mutex, SceUInt32 count, void *in_out);</source> | |||
=== sceKernelLockLwMutex_2 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x46E7BE7B | |||
|} | |||
=== sceKernelTryLockLwMutex === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x9EF798C1 | |||
|} | |||
It does not seem to call any imported function. | |||
<source lang="C">int sceKernelTryLockLwMutex(void *mutex, SceUInt32 count);</source> | |||
=== sceKernelLockLwMutexCB === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x6F9C4CC1 | |||
|} | |||
It calls PSP-like [[#sceKernelLockLwMutex_old]], and on failure [[SceKernelThreadMgr#_sceKernelLockLwMutex]] with flag 1 (CB). | |||
<source lang="C">int sceKernelLockLwMutexCB(SceLwMutex *mutex, SceUInt32 count, void *in_out);</source> | |||
=== sceKernelTryLockLwMutex_600 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x3148C6B6 | |||
|} | |||
This is a guessed name (need to compare with sceKernelTryLockLwMutex and with PSP sceKernelTryLockLwMutex_600). | |||
=== SceLibKernel_91FA6614 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.930.010-3.01 || not present | |||
|- | |||
| 3.100.081-3.740.011 || 0x91FA6614 | |||
|} | |||
Temp name was sceKernelUnlockLwMutex. | |||
It does not seem to call any imported function. | |||
=== SceLibKernel_120AFC8C === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x120AFC8C | |||
|} | |||
Temp name was sceKernelUnlockLwMutex2. | |||
It does not seem to call any imported function. | |||
=== sceKernelSignalCond === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.930.010-1.692.000 || 0x10A4976F | |||
|- | |||
| 1.800.060-3.740.011 || not present | |||
|} | |||
<source lang="C">SceBool sceKernelSignalCond(int a1);</source> | |||
=== sceKernelDeleteCond === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.930.010-1.692.000 || 0xFD295414 | |||
|- | |||
| 1.800.071-3.740.011 || not present | |||
|} | |||
<source lang="C">SceBool sceKernelDeleteCond(int *a1);</source> | |||
=== sceIoChstatAsync === | === sceIoChstatAsync === | ||
Line 87: | Line 1,265: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0x04B30CB2 | ||
|} | |} | ||
This performs device-specific operations. The details of the operations are driver-dependent. | |||
This is a wrapper for [[SceIofilemgr#sceIoDevctl|_sceIoDevctl]]. | |||
<source lang="C"> | |||
/* | |||
Arguments: | |||
devname Specified device ("<devname><unit>:") | |||
cmd Command code | |||
arg Pointer to device-driver-dependent parameter block | |||
arglen Number of bytes in device-driver-dependent parameter block | |||
bufp Pointer to return data storage block | |||
buflen Size of return data storage block | |||
Return Values: | |||
Non-negative (N>=0) Success (driver-dependent) | |||
<0 Error, e.g. SCE_ERROR_ERRNO_EMFILE, SCE_ERROR_ERRNO_ENODEV, SCE_ERROR_ERRNO_EUNSUP | |||
*/ | |||
int sceIoDevctl( | |||
const char *devname, | |||
int cmd, | |||
const void *arg, | |||
SceSize arglen, | |||
void *bufp, | |||
SceSize buflen | |||
); | |||
</source> | |||
=== sceIoDopen === | === sceIoDopen === | ||
Line 341: | Line 1,548: | ||
derived from <code>SceIofilemgr</code> <code>_sceIoCompleteMultiple</code> | derived from <code>SceIofilemgr</code> <code>_sceIoCompleteMultiple</code> | ||
=== sceKernelPrintBacktraceForProcess === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.000.071-3.740.011 || 0x20E2D4B7 | |||
|} | |||
This is a guessed name. | |||
<source lang="C"> | |||
/** | |||
* Prints call frames to STDOUT - does NOT perform a backtrace | |||
* | |||
* @return SCE_OK on success, < 0 on error | |||
* | |||
* @param pid ?Process ID to operate under? - only SCE_KERNEL_PROCESS_ID_SELF or result of sceKernelGetProcessId is accepted | |||
* @param pCallFrame Pointer to an array of filled up call frames | |||
* @param numFrames Number of frames in the buffer pointed to by pCallFrame | |||
*/ | |||
SceInt32 sceKernelPrintBacktraceForProcess(SceUID pid, SceKernelCallFrame* pCallFrame, SceUInt32 numFrames); | |||
</source> | |||
=== sceKernelBacktrace === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.000.071-3.740.011 || 0x894037E8 | |||
|} | |||
Wrapper to [[SceKernelModulemgr#sceKernelBacktrace|SceKernelModulemgr#_sceKernelBacktrace]]. | |||
<source lang="C"> | |||
SceInt32 sceKernelBacktrace(SceUID threadId, SceKernelCallFrame *pCallFrameBuffer, SceSize numBytesBuffer, SceUInt32 *pNumReturn, SceInt32 mode); | |||
</source> | |||
=== sceKernelBacktraceSelf === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.000.071-3.740.011 || 0xD16C03B0 | |||
|} | |||
<source lang="C"> | |||
/** | |||
* Performs a walk back in the call stack and returns obtained stack frames. | |||
* | |||
* @return Call stack depth or SCE_OK on success, < 0 on error | |||
* | |||
* @param pCallFrameBuffer Pointer to an array of call frames that will recieve information | |||
* @param numBytesBuffer Number of bytes in the buffer pointed to by pCallFrameBuffer | |||
* @param pNumReturn Pointer to a variable that will obtain the actual number of call frames filled up | |||
* @param mode Specify SCE_KERNEL_BACKTRACE_MODE_USER - you can also specify the SCE_KERNEL_BACKTRACE_MODE_DONT_EXCEED option with a logical OR | |||
* @note Specifying SCE_KERNEL_BACKTRACE_MODE_DONT_EXCEED stops processing when the call frame buffer is filled up - SCE_OK is returned instead of call stack depth | |||
*/ | |||
SceInt32 sceKernelBacktraceSelf(SceKernelCallFrame *pCallFrameBuffer, SceSize numBytesBuffer, SceUInt32 *pNumReturn, SceInt32 mode); | |||
</source> | |||
=== sceKernelPuts === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.902-3.740.011 || 0x023EAA62 | |||
|} | |||
Dummy function in System Software version 3.60. | |||
<source lang="C">int sceKernelPuts(const char* str);</source> | |||
=== sceKernelGetLibraryVariableAddress === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.060-3.740.011 || 0x0A4DF821 | |||
|} | |||
Temp name was sceKernelGetModuleVariableByNID. | |||
Gets variable address by NID. | |||
Calls [[SceKernelModulemgr#sceKernelGetLibraryInfoByNID|SceKernelModulemgr#_sceKernelGetLibraryInfoByNID]]. | |||
Usage: | |||
<source lang="C"> | |||
extern char _NID_libName[]; /* dummy array '_NID_libName' is ABS symbol in libName_stub.a */ | |||
extern char _NID_varName[]; /* dummy array '_NID_varName' is ABS symbol in libName_stub.a */ | |||
#define NAME2NID(name) (unsigned int)(_NID_ ## name) | |||
#define libName_GetVariableAddress(modid, varname, ptr) \ | |||
sceKernelGetLibraryVariableAddress((modid),\ | |||
NAME2NID(libName),\ | |||
NAME2NID(varname),\ | |||
(void **)(ptr)) | |||
</source> | |||
<source lang="C">int sceKernelGetLibraryVariableAddress(SceUID modid, SceNID libnid, SceNID var_nid, void **pVarAddr);</source> | |||
=== sceKernelLinkFunctionTable === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.060-3.740.011 || 0xBEF71602 | |||
|} | |||
Temp name was sceKernelGetModuleFunctionsByNID. | |||
Sets functions table for a module. | |||
Calls [[SceKernelModulemgr#sceKernelGetLibraryInfoByNID|SceKernelModulemgr#_sceKernelGetLibraryInfoByNID]]. | |||
Usage: | |||
<source lang="C"> | |||
typedef int (*funcName_t)(int a1); | |||
extern char _NID_libName[]; /* dummy array '_NID_libName' is ABS symbol in libName_stub.a */ | |||
extern char _NID_funcName[]; /* dummy array '_NID_funcName' is ABS symbol in libName_stub.a */ | |||
#define NAME2NID(name) (unsigned int)(_NID_ ## name) | |||
typedef struct libName_Functions_table { | |||
funcName_t funcName; | |||
} libName_Functions_table; | |||
SceNID libName_nid_table[] = { | |||
NAME2NID(funcName), | |||
}; | |||
#define _ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0])) | |||
#define libName_LinkFunctionTable(modid, table) \ | |||
sceKernelLinkFunctionTable((modid),\ | |||
NAME2NID(libName),\ | |||
_ARRAY_SIZE(libName_nid_table), libName_nid_table,\ | |||
(void **)(table)) | |||
</source> | |||
<source lang="C">int sceKernelLinkFunctionTable(SceUID modid, SceNID libnid, SceUInt32 nNID, const SceNID *pNids, void **pEntries);</source> | |||
=== sceKernelUnlinkFunctionTable === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.692.000 || not present | |||
|- | |||
| 1.800.060-3.740.011 || 0x70867F93 | |||
|} | |||
Temp name was sceClibBzeroWords. | |||
This function only does <code>sceClibMemset(pNids, 0, nNID << 2);</code>. | |||
Usage: | |||
<source lang="C"> | |||
extern char _NID_libName[]; /* dummy array '_NID_libName' is ABS symbol in libName_stub.a */ | |||
#define NAME2NID(name) (unsigned int)(_NID_ ## name) | |||
#define libName_UnlinkFunctionTable_test(modid, table) \ | |||
sceKernelUnlinkFunctionTable((modid),\ | |||
NAME2NID(libName),\ | |||
_ARRAY_SIZE(libName_nid_table),\ | |||
(void **)(table)) | |||
</source> | |||
<source lang="C">int sceKernelUnlinkFunctionTable(SceUID modid, SceNID libnid, SceUInt32 nNID, const SceNID *pNids);</source> | |||
=== sceSblGcAuthMgrAdhocBB224Auth3 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x104D802F | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth3|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3]]. | |||
=== sceSblGcAuthMgrPkgVry === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x12C7CD2B | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPkgVry|SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry]]. | |||
=== sceSblGcAuthMgrMsSaveBBMacInit === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x1693032E | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBMacInit|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit]]. | |||
=== sceSblGcAuthMgrAdhocBB160UniCastDecrypt === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x01E00CBF | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160UniCastDecrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt]]. | |||
=== sceSblGcAuthMgrAdhocBB160Auth2 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x1F4DF829 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth2|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2]]. | |||
=== sceSblGcAuthMgrAdhocBB224Auth1 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x211BEDE8 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth1|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1]]. | |||
=== sceSblGcAuthMgrMsSaveBBCipherInit === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x2E05B2DC | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBCipherInit|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit]]. | |||
=== SceLibKernel_37F4ED04 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x37F4ED04 | |||
|} | |||
It does not seem to call any imported function. | |||
=== sceSblGcAuthMgrAdhocBB160Auth5 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x3B595E1D | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5]]. | |||
=== sceSblGcAuthMgrAdhocBB224Auth5 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x4AC7EFC9 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5]]. | |||
=== sceSblGcAuthMgrMsSaveBBCipherUpdate === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x56A59D4F | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBCipherUpdate|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherUpdate]]. | |||
=== sceSblGcAuthMgrPsmactCreateC1 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x622A81E6 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPsmactCreateC1|SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactCreateC1]]. | |||
=== sceSblGcAuthMgrAdhocBB160Auth4 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x6314CAA3 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth4|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth4]]. | |||
=== sceSblGcAuthMgrAdhocBB224Auth4 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x65126005 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth4|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth4]]. | |||
=== sceKernelRegisterThreadEventHandler === | === sceKernelRegisterThreadEventHandler === | ||
Line 349: | Line 1,873: | ||
| 3.60 || 0x6D8C0F13 | | 3.60 || 0x6D8C0F13 | ||
|} | |} | ||
Wrapper to [[SceKernelThreadMgr#sceKernelRegisterThreadEventHandler|SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler]]. | |||
<source lang="C">int sceKernelRegisterThreadEventHandler(char *name, SceUID thread_id, SceUInt32 mask, SceKernelThreadEventHandler *handler, void *common);</source> | |||
=== sceSblGcAuthMgrMsSaveBBMacFinal === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x774AE3CB | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBMacFinal|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacFinal]]. | |||
=== sceSblGcAuthMgrAdhocBB160GetKeys === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x84C75DC3 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160GetKeys|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160GetKeys]]. | |||
=== sceSblGcAuthMgrAdhocBB160BroadCastEncrypt === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x88E72157 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160BroadCastEncrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastEncrypt]]. | |||
=== sceSblGcAuthMgrSclkGetData1 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x93A6570E | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrSclkGetData1|SceSblGcAuthMgr#_sceSblGcAuthMgrSclkGetData1]]. | |||
=== sceSblGcAuthMgrPcactGetChallenge === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.000.041 || not present | |||
|- | |||
| 1.80-3.60 || 0x9557D15C | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPcactGetChallenge|SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge]]. Calls it with epasswordSize = 0x20 and challengeSize = 0x80. | |||
<source lang="C"> | <source lang="C"> | ||
int | // epassword size must be 0x20 bytes | ||
// challenge size must be 0x80 bytes | |||
int sceSblGcAuthMgrPcactGetChallenge(SceUInt32 id, const char *epassword, char *challenge); | |||
</source> | </source> | ||
=== | === sceSblGcAuthMgrAdhocBB160Init === | ||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x9B28E1AF | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Init|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init]]. | |||
=== sceKernelGetMainModuleSdkVersion === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.06 || not present | |||
|- | |||
| 1.500.151-3.740.011 || 0x9F793F84 | |||
|} | |||
Gets the module SDK version from the process' [[PRX#NONAME_exports|SceProcessParam]]. Used for PSN Auth in [[SceShell]]. | |||
<source lang="C">int sceKernelGetMainModuleSdkVersion(void);</source> | |||
=== sceKernelLoadModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xBBE82155 | |||
|} | |||
=== sceKernelLoadStartModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x2DCC4AFA | |||
|} | |||
=== sceKernelStartModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x702425D5 | |||
|} | |||
=== sceKernelStopModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x3B2CBA09 | |||
|} | |||
=== sceKernelUnloadModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x1987920E | |||
|} | |||
=== sceKernelStopUnloadModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x2415F8A4 | |||
|} | |||
=== sceKernelCallModuleExit === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x15E2A45D | |||
|} | |||
=== sceKernelGetModuleInfoByAddr === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0xD11A5103 | |||
|} | |||
=== sceKernelOpenModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x4F2D8B15 | |||
|} | |||
=== sceKernelCloseModule === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x657FA50E | |||
|} | |||
=== sceKernelExitProcess === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.030.071-3.740.011 || 0x7595D9AA | |||
|} | |||
=== sceSblGcAuthMgrAdhocBB160UniCastEncrypt === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xA9002567 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160UniCastEncrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastEncrypt]]. | |||
=== sceSblGcAuthMgrAdhocBB224GetKeys === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xAC57B6A4 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224GetKeys|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224GetKeys]]. | |||
=== sceSblGcAuthMgrAdhocBB160Auth3 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xC362ECD6 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth3|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth3]]. | |||
=== sceSblGcAuthMgrAdhocBB224Init === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xC8082804 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Init|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Init]]. | |||
=== SceLibKernel_DC277B4D === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xDC277B4D | |||
|} | |||
Returns a 64bit value and uses 0xdeadbeef constant somehow. | |||
<source lang="C">ulonglong SceLibKernel_DC277B4D(int a1, SceUInt32 low);</source> | |||
=== sceSblGcAuthMgrAdhocBB224Auth2 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xDEAD6277 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth2|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth2]]. | |||
=== sceSblGcAuthMgrSclkSetData2 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xE088B0D0 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrSclkSetData2|SceSblGcAuthMgr#_sceSblGcAuthMgrSclkSetData2]]. | |||
=== sceSblGcAuthMgrAdhocBB160BroadCastDecrypt === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xE2984A54 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160BroadCastDecrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastDecrypt]]. | |||
=== sceSblGcAuthMgrPsmactVerifyR1 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xEB6DA895 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPsmactVerifyR1|SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactVerifyR1]]. | |||
=== sceSblGcAuthMgrAdhocBB160Auth1 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xEFD76235 | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth1|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth1]]. | |||
=== sceSblGcAuthMgrGetMediaIdType01 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xF7027E6A | |||
|} | |||
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrGetMediaIdType01|SceSblGcAuthMgr#_sceSblGcAuthMgrGetMediaIdType01]]. | |||
=== SceKernelStackChkFail === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 2.000.081-3.740.011 || 0xEC287338 | |||
|} | |||
=== __stack_chk_fail === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 2.000.081-3.740.011 || 0x37691BF8 | |||
|} | |||
Also exported in [[#SceLibSsp]]. | |||
<source lang="C">int __stack_chk_fail(void);</source> | |||
=== sceKernelSuspendThreadForVM === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.61 || not present | |||
|- | |||
| 1.660.011-2.120.011 || 0xDA76C40B | |||
|- | |||
| 2.500.071-3.740.011 || not present. Moved to SceKernelForMono. | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#_sceKernelSuspendThreadForVM]]. | |||
=== sceKernelGetThreadContextForVM === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.61 || not present | |||
|- | |||
| 1.660.011-3.740.011 || 0x22C9595E | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#_sceKernelGetThreadContextForVM]]. | |||
=== sceKernelSetThreadContextForVM === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.61 || not present | |||
|- | |||
| 1.660.011-3.740.011 || 0x27E6DEDE | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#_sceKernelSetThreadContextForVM]]. | |||
=== SceLibKernel_35D20E49 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.61 || not present | |||
|- | |||
| 1.660.011-3.740.011 || 0x35D20E49 | |||
|} | |||
Reads 4 bytes from thread memory. | |||
It does not seem to call any imported function. | |||
<source lang="C">SceUInt32 SceLibKernel_35D20E49(SceUInt32 thid, SceUInt32 idx);</source> | |||
=== sceKernelWaitException === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.61 || not present | |||
|- | |||
| 1.660.011-3.740.011 || 0x11E263A5 | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#_sceKernelWaitException]]. | |||
=== sceKernelWaitExceptionCB === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-1.61 || not present | |||
|- | |||
| 1.660.011-3.740.011 || 0xAB4B5485 | |||
|} | |||
Wrapper to [[SceKernelThreadMgr#_sceKernelWaitExceptionCB]]. | |||
=== sceClibPrintf === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 1.000.071-3.740.011 || 0xFA26BC62 | ||
|} | |} | ||
=== | === sceClibDprintf === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-1.660.011 || not present | ||
|- | |||
| 1.800.060-3.740.011 || 0x4340EF77 | |||
|} | |} | ||
<source lang="C">int sceClibDprintf(SceUID fd, const char *fmt, ...);</source> | |||
=== sceKernelPrintBacktrace === | === sceKernelPrintBacktrace === | ||
Line 375: | Line 2,283: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.060.011 || not present | ||
|- | |||
| 2.100.081-3.740.011 || 0x1C02A434 | |||
|} | |||
Wrapper to [[SceLibKernel#sceKernelPrintBacktraceForProcess|sceKernelPrintBacktraceForProcess]] with <code>pid=0</code>. | |||
<source lang="C"> | |||
/** | |||
* Prints call frames to STDOUT - does NOT perform a backtrace | |||
* | |||
* @return SCE_OK on success, < 0 on error | |||
* | |||
* @param pCallFrame Pointer to an array of filled up call frames | |||
* @param numFrames Number of frames in the buffer pointed to by pCallFrame | |||
*/ | |||
SceInt32 sceKernelPrintBacktrace(SceKernelCallFrame* pCallFrame, SceUInt32 numFrames); | |||
</source> | |||
=== SceLibKernel_6C7365C4 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.000.071-3.740.011 || 0x6C7365C4 | |||
|} | |||
This function seems to check allowed address range for backtrace. | |||
Related to [[#sceKernelBacktraceSelf]]. | |||
<source lang="C"> | |||
// addr: 0-0xEFFFFFFF | |||
// pRes: pointer to a 64-bit buffer | |||
int SceLibKernel_6C7365C4(SceUInt32 addr, SceUInt64 *pRes); | |||
</source> | |||
=== SceKernelStackChkGuard === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 2.000.081-3.740.011 || 0x4458BCF3 | |||
|} | |||
This is a variable (4 bytes). | |||
=== __stack_chk_guard === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 2.000.081-3.740.011 || 0x93B8AA67 | |||
|} | |||
This is a variable (4 bytes). | |||
Also exported in [[#SceLibSsp]]. | |||
== SceLibGcc == | |||
SceLibGcc_0DFF2B2C: 0x0DFF2B2C | |||
SceLibGcc_12472ADD: 0x12472ADD | |||
SceLibGcc_29C2EB11: 0x29C2EB11 | |||
SceLibGcc_4BB45B70: 0x4BB45B70 | |||
SceLibGcc_6214B80C: 0x6214B80C | |||
SceLibGcc_74274866: 0x74274866 | |||
SceLibGcc_7772C028: 0x7772C028 | |||
SceLibGcc_7DFC519A: 0x7DFC519A | |||
SceLibGcc_83A4F46F: 0x83A4F46F | |||
SceLibGcc_8A5F29D8: 0x8A5F29D8 | |||
SceLibGcc_8D4953C7: 0x8D4953C7 | |||
SceLibGcc_A22B2436: 0xA22B2436 | |||
SceLibGcc_AC15DBA5: 0xAC15DBA5 | |||
SceLibGcc_B1CD7AC2: 0xB1CD7AC2 | |||
SceLibGcc_BAC00FF7: 0xBAC00FF7 | |||
SceLibGcc_CD43FEDC: 0xCD43FEDC | |||
SceLibGcc_DA5097CE: 0xDA5097CE | |||
SceLibGcc_DAB28374: 0xDAB28374 | |||
SceLibGcc_DBE840D6: 0xDBE840D6 | |||
SceLibGcc_F16E32FC: 0xF16E32FC | |||
== SceLibSsp == | |||
=== __stack_chk_fail === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.500.151-3.740.011 || 0x39AD080B | |||
|} | |} | ||
This is | Also exported in [[#SceLibKernel]]. | ||
<source lang="C">int __stack_chk_fail(void);</source> | |||
=== __stack_chk_guard === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 1.500.151-3.740.011 || 0x1EA375E6 | |||
|} | |||
This is a variable (4 bytes). | |||
Also exported in [[#SceLibKernel]]. | |||
== SceRtabi == | |||
=== __aeabi_lcmp === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x0D4F0635 | |||
|} | |||
=== __aeabi_lmul === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x141BC4CE | |||
|} | |||
=== __aeabi_lasr === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x21FF67B9 | |||
|} | |||
=== __aeabi_ulcmp === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x317B3774 | |||
|} | |||
=== __aeabi_idiv === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x38D62D60 | |||
|} | |||
=== __aeabi_d2lz === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x5024AB91 | |||
|} | |||
=== __aeabi_f2ulz === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x609CA961 | |||
|} | |||
=== __aeabi_idivmod === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x67104054 | |||
|} | |||
=== __aeabi_d2ulz === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x6BB838EF | |||
|} | |||
=== __aeabi_ldivmod === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0x6CBB0E84 | |||
|} | |||
=== __aeabi_llsl === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xA5DB3A86 | |||
|} | |||
=== __aeabi_f2lz === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 3.60 || 0xAA1F1B50 | ||
|} | |} | ||
=== __aeabi_uidivmod === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 3.60 || 0xC33391D1 | ||
|} | |} | ||
=== | === __aeabi_llsr === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 3.60 || 0xCBDA815C | ||
|} | |} | ||
=== | === __aeabi_uldivmod === | ||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3.60 || | | 3.60 || 0xCDF7708E | ||
|} | |} | ||
=== __aeabi_uidiv === | |||
= | {| class="wikitable" | ||
|- | |||
! Version !! NID | |||
|- | |||
| 3.60 || 0xFB311F87 | |||
|} | |||
== | == SceKernelForVM == | ||
=== SceKernelForVM_655B1F19 === | |||
{| class="wikitable" | |||
|- | |||
! Version !! NID | |||
|- | |||
| 0.931.010-0.990 || not present | |||
|- | |||
| 1.000.071-1.610.061 || 0x655B1F19 | |||
|- | |||
| 1.66-3.740.011 || not present | |||
|} | |||
=== sceKernelGetThreadContextForVM === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! Version !! NID | ||
|- | |- | ||
| | | 1.000.071-3.740.011 || 0x010BB885 | ||
|} | |||
=== sceKernelResumeThreadForVM === | |||
{| class="wikitable" | |||
|- | |- | ||
! Version !! NID | |||
|- | |- | ||
| | | 1.000.071-3.740.011 || 0x70F3F49D | ||
|} | |||
=== sceKernelSuspendThreadForVM === | |||
{| class="wikitable" | |||
|- | |- | ||
! Version !! NID | |||
|- | |- | ||
| | | 1.000.071-3.740.011 || 0xF5F8F795 | ||
|} | |||
== SceLibRng == | |||
=== sceKernelGetRandomNumber === | |||
{| class="wikitable" | |||
|- | |- | ||
! Version !! NID | |||
|- | |- | ||
| | | 0.931.010-1.52 || not present | ||
|- | |- | ||
| | | 1.600.061-3.740.011 || 0xB2700165 | ||
|} | |} | ||
Wrapper to [[SceSblSsMgr#sceKernelGetRandomNumber|_sceKernelGetRandomNumber]]. | |||
<source lang="C">int sceKernelGetRandomNumber(void *dst, SceSize length);</source> | |||
== SceKernelForMono == | == SceKernelForMono == | ||
Line 451: | Line 2,598: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.120.011 || not present | ||
|- | |||
| 2.500.071-3.740.011 || 0x1BECC64C | |||
|} | |} | ||
Line 459: | Line 2,608: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.120.011 || not present | ||
|- | |||
| 2.500.071-3.740.011 || 0x38839DA2 | |||
|} | |} | ||
Line 467: | Line 2,618: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.120.011 || not present | ||
|- | |||
| 2.500.071-3.740.011 || 0x92A0964D | |||
|} | |} | ||
Line 475: | Line 2,628: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.120.011 || not present | ||
|- | |||
| 2.500.071-3.740.011 || 0x9A6D085B | |||
|} | |} | ||
Line 483: | Line 2,638: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.120.011 || not present | ||
|- | |||
| 2.500.071-3.740.011 || 0xAD210F16 | |||
|} | |} | ||
Line 491: | Line 2,648: | ||
! Version !! NID | ! Version !! NID | ||
|- | |- | ||
| 3. | | 0.931.010-2.120.011 || not present | ||
|- | |||
| 2.500.071-3.740.011 || 0xE513151F | |||
|} | |} | ||
== Heap == | |||
The latest version of [http://g.oswego.edu/dl/html/malloc.html dlmalloc] is included in SceLibKernel. Most of the assert checks and security are included. | |||
=== Thread specific data === | |||
Each thread owns a private 2048bytes memory region with specific data (?TLS?). The end of this region is pointed by the TPIDRURO register (thus, the start address of it is TPIDRURO - 0x800). | |||
{| class="wikitable" | |||
|- | |||
! Offset !! Size !! Description | |||
|- | |||
| 0x000 || 4 || ?? | |||
|- | |||
| 0x004 || 4 || Thread ID | |||
|- | |||
| 0x008 || 4 || Stack start address | |||
|- | |||
| 0x00C || 4 || Stack end address | |||
|- | |||
| 0x010 || 4 || Current VFP exception | |||
|- | |||
| 0x014 || 4 || LwMutex related | |||
|- | |||
| 0x020 || 4 || Current priority | |||
|- | |||
| 0x024 || 4 || CPU affinity mask | |||
|} | |||
[[Category:Modules]][[Category: | [[Category:ARM]] | ||
[[Category:Usermode]] | |||
[[Category:Modules]] | |||
[[Category:Library]] |
Latest revision as of 20:43, 2 April 2024
SceLibKernel, not to be confused with Kernel is a user module that implements wrappers to some common syscalls (for example, SceIofilemgr), some usermode standard library functions (including C standard library), and other common features like heap management. This module is the functionality similar to libc.so.6 on Linux.
Module
This is a usermode module. The SELF can be found in os0:us/libkernel.suprx
.
Version | World | Privilege |
---|---|---|
1.000.071-3.740.011 | Non-secure | User |
Libraries
Known NIDs
Version | Name | World | Privilege | NID |
---|---|---|---|---|
1.030.071-3.740.011 | SceLibKernel | Non-secure | User | 0xCAE9ACE6 |
1.600.061-3.740.011 | SceLibRng | Non-secure | User | 0xF9AC7CF8 |
1.030.071-3.740.011 | SceLibGcc | Non-secure | User | 0x567AF9A6 |
1.500.151-3.740.011 | SceLibSsp | Non-secure | User | 0x8FA98EF1 |
1.030.071-3.740.011 | SceRtabi | Non-secure | User | 0xA941943F |
1.030.071-3.740.011 | SceKernelForVM | Non-secure | User | 0xA2B3EA8F |
2.500.071-3.740.011 | SceKernelForMono | Non-secure | User | 0x5FEEA076 |
SceLibKernel
1.030.071 SceLibKernel functions to wikify:
sceKernelGetTLSAddr 0xb295eb61 sceKernelGetThreadId 0x0fb972f9 sceKernelGetCurrentThreadVfpException 0xa37a6057 sceKernelSendMsgPipe 0x0ca71ea2 sceKernelSendMsgPipeCB 0xa5ca74ac sceKernelTrySendMsgPipe 0xdfc670e0 sceKernelReceiveMsgPipe 0x4e81dd5c sceKernelReceiveMsgPipeCB 0x33af829b sceKernelTryReceiveMsgPipe 0x5615b006 sceKernelWaitThreadEnd 0xddb395a9 sceKernelWaitThreadEndCB 0xc54941ed sceKernelGetThreadExitStatus 0xd5dc26c4 sceKernelStartThread 0xf08de149 sceKernelDeleteThread 0x58ddac4f sceKernelChangeThreadCpuAffinityMask 0x5150577b sceKernelGetThreadCpuAffinityMask 0x8c57ac2a sceKernelChangeThreadPriority 0xdf7e6eda sceKernelGetThreadStackFreeSize 0xbcb63b66 sceKernelGetThreadInfo 0x8d9c5461 sceKernelGetThreadRunStatus 0xd6b01013 sceKernelGetSystemInfo 0xe0241faa sceKernelGetThreadmgrUIDClass 0xf994fe65 sceKernelGetActiveCpuMask 0xb4de10c7 sceKernelChangeThreadVfpException 0x2c1321a3 sceKernelCreateCallback 0x3849359a sceKernelGetCallbackInfo 0x88dd1bc8 sceKernelDeleteCallback 0x464559d3 sceKernelNotifyCallback 0xbd9c8f2b sceKernelCancelCallback 0x3137a687 sceKernelGetCallbackCount 0x76a2ef81 sceKernelRegisterCallbackToEvent 0xd4f75281 sceKernelUnregisterCallbackFromEvent 0x8d3940df sceKernelUnregisterCallbackFromEventAll 0x2bd1e682 sceKernelWaitEventCB 0xa0490795 sceKernelPollEvent 0x241f3634 sceKernelCancelEvent 0x603ab770 sceKernelWaitMultipleEvents 0x10586418 sceKernelWaitMultipleEventsCB 0x4263dbc9 sceKernelCreateEventFlag 0x8516d040 sceKernelDeleteEventFlag 0x11fe9b8b sceKernelOpenEventFlag 0xe04ec73a sceKernelCloseEventFlag 0x9c0b8285 sceKernelWaitEventFlag 0x83c0e2af sceKernelWaitEventFlagCB 0xe737b1df sceKernelPollEventFlag 0x1fbb0fe1 sceKernelCancelEventFlag 0x2a12d9b7 sceKernelGetEventFlagInfo 0x8ba4c0c1 sceKernelSetEventFlag 0x9ef9c0c5 sceKernelClearEventFlag 0xd018793f sceKernelCreateSema 0x297aa2ae sceKernelDeleteSema 0xc08f5bc5 sceKernelOpenSema 0xb028ab78 sceKernelCloseSema 0x817707ab sceKernelWaitSema 0x0c7b834b sceKernelWaitSemaCB 0x174692b4 sceKernelCancelSema 0x66d6bf05 sceKernelGetSemaInfo 0x595d3fa6 sceKernelPollSema 0x3012a9c6 sceKernelSignalSema 0x2053a496 sceKernelCreateCond 0x50572fda sceKernelOpenCond 0xcb2a73a9 sceKernelCloseCond 0x4fb91a89 sceKernelWaitCond 0xc88d44ad sceKernelWaitCondCB 0x4ce42ce2 sceKernelGetCondInfo 0x6864dce2 sceKernelSignalCondAll 0x2eb86929 sceKernelSignalCondTo 0x087629e6 sceKernelCreateMsgPipe 0x0a10c1c8 sceKernelDeleteMsgPipe 0x69f6575d sceKernelOpenMsgPipe 0x230691da sceKernelCloseMsgPipe 0x7e5c0c16 sceKernelSendMsgPipeVector 0x94d506f7 sceKernelSendMsgPipeVectorCB 0x9c6f7f79 sceKernelTrySendMsgPipeVector 0x60db346f sceKernelReceiveMsgPipeVector 0x9f899087 sceKernelReceiveMsgPipeVectorCB 0xbe5b3e27 sceKernelTryReceiveMsgPipeVector 0x86ecc0ff sceKernelCancelMsgPipe 0xef14ba37 sceKernelGetMsgPipeInfo 0x4046d16b sceKernelCreateLwCond 0x48c7eae6 sceKernelDeleteLwCond 0x721f6cb3 sceKernelWaitLwCond 0xe1878282 sceKernelWaitLwCondCB 0x8fa54b07 sceKernelSignalLwCond 0x3ac63b9a sceKernelSignalLwCondAll 0xe5241a0c sceKernelSignalLwCondTo 0xfc1a48eb sceKernelGetLwCondInfo 0xe4df36a0 sceKernelGetLwCondInfoById 0x971f1de8 sceKernelCreateTimer 0x2255b2a5 sceKernelDeleteTimer 0x746f3290 sceKernelOpenTimer 0x2f3d35a3 sceKernelCloseTimer 0x17283de6 sceKernelStartTimer 0x1478249b sceKernelStopTimer 0x075b1329 sceKernelGetTimerBaseWide 0x3223ccd1 sceKernelGetTimerTimeWide 0x53c5d833 sceKernelSetTimerTimeWide 0xaf67678b sceKernelCreateRWLock 0x8667951d sceKernelDeleteRWLock 0x3d750204 sceKernelOpenRWLock 0xba4dac9a sceKernelCloseRWLock 0xa7f94e64 sceKernelLockReadRWLock 0xfa670f0f sceKernelLockReadRWLockCB 0x2d4a62b7 sceKernelTryLockReadRWLock 0x1b8586c0 sceKernelUnlockReadRWLock 0x675d10a8 sceKernelLockWriteRWLock 0x67a187bb sceKernelLockWriteRWLockCB 0xa4777082 sceKernelTryLockWriteRWLock 0x597d4607 sceKernelUnlockWriteRWLock 0xd9369df2 sceKernelCancelRWLock 0x190ca94b sceKernelGetRWLockInfo 0x079a573b sceKernelGetSystemTime 0x8af15b5f sceKernelPMonThreadGetCounter 0x99b2bf15 sceKernelPMonCpuGetCounter 0x7c21c961 sceKernelWaitSignal 0xadca94e5 sceKernelWaitSignalCB 0x24460bb3 sceKernelSendSignal 0x7be9c4c8 sceKernelCreateThread 0xc5c11ee7 sceSblACMgrIsGameProgram 0x963f4a99 sceKernelGetOpenPsId 0x261e2c34
sceKernelWaitEvent
Version | NID |
---|---|
3.60 | 0x120F03AF |
SceInt32 sceKernelWaitEvent(SceUID eventId, SceUInt32 waitPattern, SceUInt32 *pResultPattern, SceUInt64 *pUserData, SceUInt32 *pTimeout);
sceKernelSetTimerTime
Version | NID |
---|---|
3.60 | 0xFFAD717F |
int sceKernelSetTimerTime(SceUID timerId, SceUInt64 *time);
sceKernelSetTimerEvent
Version | NID |
---|---|
3.60 | 0x621D293B |
int sceKernelSetTimerEvent(SceUID timerId, int type, SceUInt64 *time, SceBool repeat);
sceKernelGetTimerTime
Version | NID |
---|---|
3.60 | 0x381DC300 |
int sceKernelGetTimerTime(SceUID timerId, SceUInt64 *time);
sceKernelGetTimerInfo
Version | NID |
---|---|
3.60 | 0x7E35E10A |
int sceKernelGetTimerInfo(SceUID timerId, void *pInfo);
sceKernelGetTimerEventRemainingTime
Version | NID |
---|---|
3.60 | 0x75B1EB3E |
int sceKernelGetTimerEventRemainingTime(SceUID timerId, SceUInt64 *time);
sceKernelGetTimerBase
Version | NID |
---|---|
3.60 | 0x1F59E04D |
int sceKernelGetTimerBase(SceUID timerId, SceUInt64 *result);
sceKernelCancelTimer
Version | NID |
---|---|
3.60 | 0x9CCF768C |
int sceKernelCancelTimer(SceUID timerId, SceUInt32 *a2);
sceKernelAtomicAddAndGet8
Version | NID |
---|---|
3.20 | 0x8F7BD940 |
SceInt8 sceKernelAtomicAddAndGet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicAddAndGet16
Version | NID |
---|---|
3.20 | 0x495C52EC |
SceInt16 sceKernelAtomicAddAndGet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicAddAndGet32
Version | NID |
---|---|
3.20 | 0x2E84A93B |
SceInt32 sceKernelAtomicAddAndGet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicAddAndGet64
Version | NID |
---|---|
3.20 | 0xB6CE9B9A |
SceInt64 sceKernelAtomicAddAndGet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicAddUnless8
Version | NID |
---|---|
3.20 | 0x7FD94393 |
SceBool sceKernelAtomicAddUnless8(SceInt8 *store, SceInt8 value, SceInt8 cmpv);
sceKernelAtomicAddUnless16
Version | NID |
---|---|
3.20 | 0x1CF4AA4B |
SceBool sceKernelAtomicAddUnless16(SceInt16 *store, SceInt16 value, SceInt16 cmpv);
sceKernelAtomicAddUnless32
Version | NID |
---|---|
3.20 | 0x4B33FD3C |
SceBool sceKernelAtomicAddUnless32(SceInt32 *store, SceInt32 value, SceInt32 cmpv);
sceKernelAtomicAddUnless64
Version | NID |
---|---|
3.20 | 0xFFCE7438 |
SceBool sceKernelAtomicAddUnless64(SceInt64 *store, SceInt64 value, SceInt64 cmpv);
sceKernelAtomicAndAndGet8
Version | NID |
---|---|
3.20 | 0x86B9170F |
SceInt8 sceKernelAtomicAndAndGet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicAndAndGet16
Version | NID |
---|---|
3.20 | 0xF9890F7E |
SceInt16 sceKernelAtomicAndAndGet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicAndAndGet32
Version | NID |
---|---|
3.20 | 0x6709D30C |
SceInt32 sceKernelAtomicAndAndGet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicAndAndGet64
Version | NID |
---|---|
3.20 | 0xAED2B370 |
SceInt64 sceKernelAtomicAndAndGet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicClearAndGet8
Version | NID |
---|---|
3.20 | 0x17B40010 |
SceInt8 sceKernelAtomicClearAndGet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicClearAndGet16
Version | NID |
---|---|
3.20 | 0xCC36B775 |
SceInt16 sceKernelAtomicClearAndGet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicClearAndGet32
Version | NID |
---|---|
3.20 | 0x9DAA0DE8 |
SceInt32 sceKernelAtomicClearAndGet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicClearAndGet64
Version | NID |
---|---|
3.20 | 0x264209F3 |
SceInt64 sceKernelAtomicClearAndGet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicClearMask8
Version | NID |
---|---|
3.20 | 0xD7D49E36 |
void sceKernelAtomicClearMask8(SceInt8 *store, SceInt8 value);
sceKernelAtomicClearMask16
Version | NID |
---|---|
3.20 | 0x5FE7DFF8 |
void sceKernelAtomicClearMask16(SceInt16 *store, SceInt16 value);
sceKernelAtomicClearMask32
Version | NID |
---|---|
3.20 | 0xE3DF0CB3 |
void sceKernelAtomicClearMask32(SceInt32 *store, SceInt32 value);
sceKernelAtomicClearMask64
Version | NID |
---|---|
3.20 | 0x953D118A |
void sceKernelAtomicClearMask64(SceInt64 *store, SceInt64 value);
sceKernelAtomicCompareAndSet8
Version | NID |
---|---|
3.20 | 0x327DB4C0 |
SceInt8 sceKernelAtomicCompareAndSet8(SceInt8 *store, SceInt8 value, SceInt8 new);
sceKernelAtomicCompareAndSet16
Version | NID |
---|---|
3.20 | 0xE8C01236 |
SceInt16 sceKernelAtomicCompareAndSet16(SceInt16 *store, SceInt16 value, SceInt16 new);
sceKernelAtomicCompareAndSet32
Version | NID |
---|---|
3.20 | 0x1124A1D4 |
SceInt32 sceKernelAtomicCompareAndSet32(SceInt32 *store, SceInt32 value, SceInt32 new);
sceKernelAtomicCompareAndSet64
Version | NID |
---|---|
3.20 | 0x1EBDFCCD |
SceInt64 sceKernelAtomicCompareAndSet64(SceInt64 *store, SceInt64 value, SceInt64 new);
sceKernelAtomicDecIfPositive8
Version | NID |
---|---|
3.20 | 0x9DABE6C3 |
SceInt8 sceKernelAtomicDecIfPositive8(SceInt8 *store);
sceKernelAtomicDecIfPositive16
Version | NID |
---|---|
3.20 | 0x323718FB |
SceInt16 sceKernelAtomicDecIfPositive16(SceInt16 *store);
sceKernelAtomicDecIfPositive32
Version | NID |
---|---|
3.20 | 0xCA3294F1 |
SceInt32 sceKernelAtomicDecIfPositive32(SceInt32 *store);
sceKernelAtomicDecIfPositive64
Version | NID |
---|---|
3.20 | 0x8BE2A007 |
SceInt64 sceKernelAtomicDecIfPositive64(SceInt64 *store);
sceKernelAtomicGetAndAdd8
Version | NID |
---|---|
3.20 | 0x27A2AAFA |
SceInt8 sceKernelAtomicGetAndAdd8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndAdd16
Version | NID |
---|---|
3.20 | 0x5674DB0C |
SceInt16 sceKernelAtomicGetAndAdd16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndAdd32
Version | NID |
---|---|
3.20 | 0x2611CB0B |
SceInt32 sceKernelAtomicGetAndAdd32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndAdd64
Version | NID |
---|---|
3.20 | 0x63DAF37D |
SceInt64 sceKernelAtomicGetAndAdd64(SceInt64 *store, SceInt64 value);
sceKernelAtomicGetAndAnd8
Version | NID |
---|---|
3.20 | 0x53DCA02B |
SceInt8 sceKernelAtomicGetAndAnd8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndAnd16
Version | NID |
---|---|
3.20 | 0x7A0CB056 |
SceInt16 sceKernelAtomicGetAndAnd16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndAnd32
Version | NID |
---|---|
3.20 | 0x08266595 |
SceInt32 sceKernelAtomicGetAndAnd32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndAnd64
Version | NID |
---|---|
3.20 | 0x4828BC43 |
SceInt64 sceKernelAtomicGetAndAnd64(SceInt64 *store, SceInt64 value);
sceKernelAtomicGetAndClear8
Version | NID |
---|---|
3.20 | 0xA10873A4 |
SceInt8 sceKernelAtomicGetAndClear8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndClear16
Version | NID |
---|---|
3.20 | 0x57CD7E7D |
SceInt16 sceKernelAtomicGetAndClear16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndClear32
Version | NID |
---|---|
3.20 | 0x0226A017 |
SceInt32 sceKernelAtomicGetAndClear32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndClear64
Version | NID |
---|---|
3.20 | 0x436AA0B5 |
SceInt64 sceKernelAtomicGetAndClear64(SceInt64 *store, SceInt64 value);
sceKernelAtomicGetAndOr8
Version | NID |
---|---|
3.20 | 0x107A68DF |
SceInt8 sceKernelAtomicGetAndOr8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndOr16
Version | NID |
---|---|
3.20 | 0x31E49E73 |
SceInt16 sceKernelAtomicGetAndOr16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndOr32
Version | NID |
---|---|
3.20 | 0x984AD276 |
SceInt32 sceKernelAtomicGetAndOr32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndOr64
Version | NID |
---|---|
3.20 | 0xC39186CD |
SceInt64 sceKernelAtomicGetAndOr64(SceInt64 *store, SceInt64 value);
sceKernelAtomicGetAndSet8
Version | NID |
---|---|
3.20 | 0x2672EA0B |
SceInt8 sceKernelAtomicGetAndSet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndSet16
Version | NID |
---|---|
3.20 | 0xF7B9ADFC |
SceInt16 sceKernelAtomicGetAndSet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndSet32
Version | NID |
---|---|
3.20 | 0x9B43E667 |
SceInt32 sceKernelAtomicGetAndSet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndSet64
Version | NID |
---|---|
3.20 | 0xD82B3A7A |
SceInt64 sceKernelAtomicGetAndSet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicGetAndSub8
Version | NID |
---|---|
3.20 | 0xCDF5DF67 |
SceInt8 sceKernelAtomicGetAndSub8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndSub16
Version | NID |
---|---|
3.20 | 0xAC51979C |
SceInt16 sceKernelAtomicGetAndSub16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndSub32
Version | NID |
---|---|
3.20 | 0x115C516F |
SceInt32 sceKernelAtomicGetAndSub32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndSub64
Version | NID |
---|---|
3.20 | 0x4AE9C8E6 |
SceInt64 sceKernelAtomicGetAndSub64(SceInt64 *store, SceInt64 value);
sceKernelAtomicGetAndXor8
Version | NID |
---|---|
3.20 | 0x7350B2DF |
SceInt8 sceKernelAtomicGetAndXor8(SceInt8 *store, SceInt8 value);
sceKernelAtomicGetAndXor16
Version | NID |
---|---|
3.20 | 0x6E2D0B9E |
SceInt16 sceKernelAtomicGetAndXor16(SceInt16 *store, SceInt16 value);
sceKernelAtomicGetAndXor32
Version | NID |
---|---|
3.20 | 0x38739E2F |
SceInt32 sceKernelAtomicGetAndXor32(SceInt32 *store, SceInt32 value);
sceKernelAtomicGetAndXor64
Version | NID |
---|---|
3.20 | 0x6A19BBE9 |
SceInt64 sceKernelAtomicGetAndXor64(SceInt64 *store, SceInt64 value);
sceKernelAtomicOrAndGet8
Version | NID |
---|---|
3.20 | 0x51693931 |
SceInt8 sceKernelAtomicOrAndGet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicOrAndGet16
Version | NID |
---|---|
3.20 | 0x8E248EBD |
SceInt16 sceKernelAtomicOrAndGet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicOrAndGet32
Version | NID |
---|---|
3.20 | 0xC3B2F7F8 |
SceInt32 sceKernelAtomicOrAndGet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicOrAndGet64
Version | NID |
---|---|
3.20 | 0x809BBC7D |
SceInt64 sceKernelAtomicOrAndGet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicSet8
Version | NID |
---|---|
3.20 | 0xE960FDA2 |
void sceKernelAtomicSet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicSet16
Version | NID |
---|---|
3.20 | 0x450BFECF |
void sceKernelAtomicSet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicSet32
Version | NID |
---|---|
3.20 | 0xB69DA09B |
void sceKernelAtomicSet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicSet64
Version | NID |
---|---|
3.20 | 0xC8A4339C |
void sceKernelAtomicSet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicSubAndGet8
Version | NID |
---|---|
3.20 | 0x99E1796E |
SceInt8 sceKernelAtomicSubAndGet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicSubAndGet16
Version | NID |
---|---|
3.20 | 0xC26BBBB1 |
SceInt16 sceKernelAtomicSubAndGet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicSubAndGet32
Version | NID |
---|---|
3.20 | 0x01C9CD92 |
SceInt32 sceKernelAtomicSubAndGet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicSubAndGet64
Version | NID |
---|---|
3.20 | 0x9BB4A94B |
SceInt64 sceKernelAtomicSubAndGet64(SceInt64 *store, SceInt64 value);
sceKernelAtomicXorAndGet8
Version | NID |
---|---|
3.20 | 0x634AF062 |
SceInt8 sceKernelAtomicXorAndGet8(SceInt8 *store, SceInt8 value);
sceKernelAtomicXorAndGet16
Version | NID |
---|---|
3.20 | 0x6F524195 |
SceInt16 sceKernelAtomicXorAndGet16(SceInt16 *store, SceInt16 value);
sceKernelAtomicXorAndGet32
Version | NID |
---|---|
3.20 | 0x46940704 |
SceInt32 sceKernelAtomicXorAndGet32(SceInt32 *store, SceInt32 value);
sceKernelAtomicXorAndGet64
Version | NID |
---|---|
3.20 | 0xDDC6866E |
SceInt64 sceKernelAtomicXorAndGet64(SceInt64 *store, SceInt64 value);
sceKernelOpenMutex
Version | NID |
---|---|
1.030.071-1.692.000 | 0x16B85235 |
1.800.060-3.740.011 | not present |
sceKernelCloseMutex
Version | NID |
---|---|
1.030.071-1.692.000 | 0x43DDC9CC |
1.800.060-3.740.011 | not present |
sceKernelTryLockMutex
Version | NID |
---|---|
1.030.071-1.692.000 | 0xE5901FF9 |
1.800.060-3.740.011 | not present |
sceKernelUnlockMutex
Version | NID |
---|---|
1.030.071-1.692.000 | 0x34746309 |
1.800.060-3.740.011 | not present |
sceKernelDeleteMutex
Version | NID |
---|---|
0.930.010-1.692.000 | 0x12D11F65 |
1.800.060-3.740.011 | not present |
int sceKernelDeleteMutex(SceUID mutex_id);
sceKernelCreateMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0xED53334A |
sceKernelLockMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0x1D8D7945 |
sceKernelLockMutexCB
Version | NID |
---|---|
1.030.071-3.740.011 | 0x2BDAA524 |
sceKernelCancelMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0x2144890D |
sceKernelGetMutexInfo
Version | NID |
---|---|
1.030.071-3.740.011 | 0x9A6C43CA |
sceKernelCreateLwMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0xDA6EC8EF |
sceKernelDeleteLwMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0x244E76D2 |
sceKernelGetLwMutexInfoById
Version | NID |
---|---|
1.030.071-3.740.011 | 0x4846613D |
sceKernelGetLwMutexInfo
Version | NID |
---|---|
1.030.071-3.740.011 | 0xF7D8F1FC |
sceKernelUnlockLwMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0x499EA781 |
Wrapper to SceKernelThreadMgr#_sceKernelUnlockLwMutex.
int sceKernelUnlockLwMutex(SceLwMutex *mutex, SceUInt32 count);
sceKernelLockLwMutex_old
Version | NID |
---|---|
1.030.071-3.740.011 | 0xA6A2C915 |
This is a guessed name. Temp name was sceKernelTryLockLwMutex.
PSP-like "sceKernelTryLockLwMutex".
int sceKernelLockLwMutex_old(SceLwMutex *mutex, SceUInt32 count);
sceKernelLockLwMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0xA7819967 |
It calls PSP-like #sceKernelLockLwMutex_old, and on failure SceKernelThreadMgr#_sceKernelLockLwMutex with flag 0 (non-CB).
int sceKernelLockLwMutex(SceLwMutex *mutex, SceUInt32 count, void *in_out);
sceKernelLockLwMutex_2
Version | NID |
---|---|
1.030.071-3.740.011 | 0x46E7BE7B |
sceKernelTryLockLwMutex
Version | NID |
---|---|
1.030.071-3.740.011 | 0x9EF798C1 |
It does not seem to call any imported function.
int sceKernelTryLockLwMutex(void *mutex, SceUInt32 count);
sceKernelLockLwMutexCB
Version | NID |
---|---|
1.030.071-3.740.011 | 0x6F9C4CC1 |
It calls PSP-like #sceKernelLockLwMutex_old, and on failure SceKernelThreadMgr#_sceKernelLockLwMutex with flag 1 (CB).
int sceKernelLockLwMutexCB(SceLwMutex *mutex, SceUInt32 count, void *in_out);
sceKernelTryLockLwMutex_600
Version | NID |
---|---|
1.030.071-3.740.011 | 0x3148C6B6 |
This is a guessed name (need to compare with sceKernelTryLockLwMutex and with PSP sceKernelTryLockLwMutex_600).
SceLibKernel_91FA6614
Version | NID |
---|---|
0.930.010-3.01 | not present |
3.100.081-3.740.011 | 0x91FA6614 |
Temp name was sceKernelUnlockLwMutex.
It does not seem to call any imported function.
SceLibKernel_120AFC8C
Version | NID |
---|---|
1.030.071-3.740.011 | 0x120AFC8C |
Temp name was sceKernelUnlockLwMutex2.
It does not seem to call any imported function.
sceKernelSignalCond
Version | NID |
---|---|
0.930.010-1.692.000 | 0x10A4976F |
1.800.060-3.740.011 | not present |
SceBool sceKernelSignalCond(int a1);
sceKernelDeleteCond
Version | NID |
---|---|
0.930.010-1.692.000 | 0xFD295414 |
1.800.071-3.740.011 | not present |
SceBool sceKernelDeleteCond(int *a1);
sceIoChstatAsync
Version | NID |
---|---|
3.60 | 0x9739A5E2 |
derived from SceIofilemgr
_sceIoChstatAsync
sceIoChstat
Version | NID |
---|---|
3.60 | 0x29482F7F |
sceIoChstatByFd
Version | NID |
---|---|
3.60 | 0x6E903AB2 |
sceIoClose
Version | NID |
---|---|
3.60 | 0xF5C6F098 |
derived from SceIofilemgr
sceIoClose
sceIoDevctlAsync
Version | NID |
---|---|
3.60 | 0x950F78EB |
derived from SceIofilemgr
_sceIoDevctlAsync
sceIoDevctl
Version | NID |
---|---|
1.000.071-3.740.011 | 0x04B30CB2 |
This performs device-specific operations. The details of the operations are driver-dependent.
This is a wrapper for _sceIoDevctl.
/* Arguments: devname Specified device ("<devname><unit>:") cmd Command code arg Pointer to device-driver-dependent parameter block arglen Number of bytes in device-driver-dependent parameter block bufp Pointer to return data storage block buflen Size of return data storage block Return Values: Non-negative (N>=0) Success (driver-dependent) <0 Error, e.g. SCE_ERROR_ERRNO_EMFILE, SCE_ERROR_ERRNO_ENODEV, SCE_ERROR_ERRNO_EUNSUP */ int sceIoDevctl( const char *devname, int cmd, const void *arg, SceSize arglen, void *bufp, SceSize buflen );
sceIoDopen
Version | NID |
---|---|
3.60 | 0xA9283DD0 |
sceIoDread
Version | NID |
---|---|
3.60 | 0x9C8B6624 |
sceIoGetstatByFd
Version | NID |
---|---|
3.60 | 0x57F8CD25 |
sceIoGetstatAsync
Version | NID |
---|---|
3.60 | 0x82B20B41 |
derived from SceIofilemgr
_sceIoGetstatAsync
sceIoGetstat
Version | NID |
---|---|
3.60 | 0xBCA5B623 |
sceIoIoctlAsync
Version | NID |
---|---|
3.60 | 0x099C54B9 |
derived from SceIofilemgr
_sceIoIoctlAsync
sceIoIoctl
Version | NID |
---|---|
3.60 | 0x54ABACFA |
sceIoLseekAsync
Version | NID |
---|---|
3.60 | 0xCAC5D672 |
derived from SceIofilemgr
_sceIoLseekAsync
sceIoLseek
Version | NID |
---|---|
3.60 | 0x99BA173E |
sceIoMkdirAsync
Version | NID |
---|---|
3.60 | 0x8E5FCBB1 |
derived from SceIofilemgr
_sceIoMkdirAsync
sceIoMkdir
Version | NID |
---|---|
3.60 | 0x9670D39F |
sceIoOpenAsync
Version | NID |
---|---|
3.60 | 0x6A7EA9FD |
derived from SceIofilemgr
_sceIoOpenAsync
sceIoOpen
Version | NID |
---|---|
3.60 | 0x6C60AC61 |
sceIoPreadAsync
Version | NID |
---|---|
3.60 | 0xA010141E |
derived from SceIofilemgr
_sceIoPreadAsync
sceIoPread
Version | NID |
---|---|
3.60 | 0x52315AD7 |
sceIoPwriteAsync
Version | NID |
---|---|
3.60 | 0xED25BEEF |
derived from SceIofilemgr
_sceIoPwriteAsync
sceIoPwrite
Version | NID |
---|---|
3.60 | 0x8FFFF5A8 |
sceIoRead
Version | NID |
---|---|
3.60 | 0x713523E1 |
derived from SceIofilemgr
sceIoRead
sceIoRemoveAsync
Version | NID |
---|---|
3.60 | 0x446A60AC |
derived from SceIofilemgr
_sceIoRemoveAsync
sceIoRemove
Version | NID |
---|---|
3.60 | 0xE20ED0F3 |
sceIoRenameAsync
Version | NID |
---|---|
3.60 | 0xEE9857CD |
derived from SceIofilemgr
_sceIoRenameAsync
sceIoRename
Version | NID |
---|---|
3.60 | 0xF737E369 |
sceIoRmdirAsync
Version | NID |
---|---|
3.60 | 0x9694D00F |
derived from SceIofilemgr
_sceIoRmdirAsync
sceIoRmdir
Version | NID |
---|---|
3.60 | 0xE9F91EC8 |
sceIoSyncAsync
Version | NID |
---|---|
3.60 | 0xF7C7FBFE |
derived from SceIofilemgr
_sceIoSyncAsync
sceIoSync
Version | NID |
---|---|
3.60 | 0x98ACED6D |
sceIoWrite
Version | NID |
---|---|
3.60 | 0x11FED231 |
derived from SceIofilemgr
sceIoWrite
sceIoCompleteMultiple
Version | NID |
---|---|
3.60 | 0xA792C404 |
derived from SceIofilemgr
_sceIoCompleteMultiple
sceKernelPrintBacktraceForProcess
Version | NID |
---|---|
1.000.071-3.740.011 | 0x20E2D4B7 |
This is a guessed name.
/** * Prints call frames to STDOUT - does NOT perform a backtrace * * @return SCE_OK on success, < 0 on error * * @param pid ?Process ID to operate under? - only SCE_KERNEL_PROCESS_ID_SELF or result of sceKernelGetProcessId is accepted * @param pCallFrame Pointer to an array of filled up call frames * @param numFrames Number of frames in the buffer pointed to by pCallFrame */ SceInt32 sceKernelPrintBacktraceForProcess(SceUID pid, SceKernelCallFrame* pCallFrame, SceUInt32 numFrames);
sceKernelBacktrace
Version | NID |
---|---|
1.000.071-3.740.011 | 0x894037E8 |
Wrapper to SceKernelModulemgr#_sceKernelBacktrace.
SceInt32 sceKernelBacktrace(SceUID threadId, SceKernelCallFrame *pCallFrameBuffer, SceSize numBytesBuffer, SceUInt32 *pNumReturn, SceInt32 mode);
sceKernelBacktraceSelf
Version | NID |
---|---|
1.000.071-3.740.011 | 0xD16C03B0 |
/** * Performs a walk back in the call stack and returns obtained stack frames. * * @return Call stack depth or SCE_OK on success, < 0 on error * * @param pCallFrameBuffer Pointer to an array of call frames that will recieve information * @param numBytesBuffer Number of bytes in the buffer pointed to by pCallFrameBuffer * @param pNumReturn Pointer to a variable that will obtain the actual number of call frames filled up * @param mode Specify SCE_KERNEL_BACKTRACE_MODE_USER - you can also specify the SCE_KERNEL_BACKTRACE_MODE_DONT_EXCEED option with a logical OR * @note Specifying SCE_KERNEL_BACKTRACE_MODE_DONT_EXCEED stops processing when the call frame buffer is filled up - SCE_OK is returned instead of call stack depth */ SceInt32 sceKernelBacktraceSelf(SceKernelCallFrame *pCallFrameBuffer, SceSize numBytesBuffer, SceUInt32 *pNumReturn, SceInt32 mode);
sceKernelPuts
Version | NID |
---|---|
0.902-3.740.011 | 0x023EAA62 |
Dummy function in System Software version 3.60.
int sceKernelPuts(const char* str);
sceKernelGetLibraryVariableAddress
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.060-3.740.011 | 0x0A4DF821 |
Temp name was sceKernelGetModuleVariableByNID.
Gets variable address by NID.
Calls SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.
Usage:
extern char _NID_libName[]; /* dummy array '_NID_libName' is ABS symbol in libName_stub.a */ extern char _NID_varName[]; /* dummy array '_NID_varName' is ABS symbol in libName_stub.a */ #define NAME2NID(name) (unsigned int)(_NID_ ## name) #define libName_GetVariableAddress(modid, varname, ptr) \ sceKernelGetLibraryVariableAddress((modid),\ NAME2NID(libName),\ NAME2NID(varname),\ (void **)(ptr))
int sceKernelGetLibraryVariableAddress(SceUID modid, SceNID libnid, SceNID var_nid, void **pVarAddr);
sceKernelLinkFunctionTable
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.060-3.740.011 | 0xBEF71602 |
Temp name was sceKernelGetModuleFunctionsByNID.
Sets functions table for a module.
Calls SceKernelModulemgr#_sceKernelGetLibraryInfoByNID.
Usage:
typedef int (*funcName_t)(int a1); extern char _NID_libName[]; /* dummy array '_NID_libName' is ABS symbol in libName_stub.a */ extern char _NID_funcName[]; /* dummy array '_NID_funcName' is ABS symbol in libName_stub.a */ #define NAME2NID(name) (unsigned int)(_NID_ ## name) typedef struct libName_Functions_table { funcName_t funcName; } libName_Functions_table; SceNID libName_nid_table[] = { NAME2NID(funcName), }; #define _ARRAY_SIZE(array) (sizeof(array)/sizeof(array[0])) #define libName_LinkFunctionTable(modid, table) \ sceKernelLinkFunctionTable((modid),\ NAME2NID(libName),\ _ARRAY_SIZE(libName_nid_table), libName_nid_table,\ (void **)(table))
int sceKernelLinkFunctionTable(SceUID modid, SceNID libnid, SceUInt32 nNID, const SceNID *pNids, void **pEntries);
sceKernelUnlinkFunctionTable
Version | NID |
---|---|
0.931.010-1.692.000 | not present |
1.800.060-3.740.011 | 0x70867F93 |
Temp name was sceClibBzeroWords.
This function only does sceClibMemset(pNids, 0, nNID << 2);
.
Usage:
extern char _NID_libName[]; /* dummy array '_NID_libName' is ABS symbol in libName_stub.a */ #define NAME2NID(name) (unsigned int)(_NID_ ## name) #define libName_UnlinkFunctionTable_test(modid, table) \ sceKernelUnlinkFunctionTable((modid),\ NAME2NID(libName),\ _ARRAY_SIZE(libName_nid_table),\ (void **)(table))
int sceKernelUnlinkFunctionTable(SceUID modid, SceNID libnid, SceUInt32 nNID, const SceNID *pNids);
sceSblGcAuthMgrAdhocBB224Auth3
Version | NID |
---|---|
3.60 | 0x104D802F |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3.
sceSblGcAuthMgrPkgVry
Version | NID |
---|---|
3.60 | 0x12C7CD2B |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry.
sceSblGcAuthMgrMsSaveBBMacInit
Version | NID |
---|---|
3.60 | 0x1693032E |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit.
sceSblGcAuthMgrAdhocBB160UniCastDecrypt
Version | NID |
---|---|
1.030.071-3.740.011 | 0x01E00CBF |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt.
sceSblGcAuthMgrAdhocBB160Auth2
Version | NID |
---|---|
3.60 | 0x1F4DF829 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2.
sceSblGcAuthMgrAdhocBB224Auth1
Version | NID |
---|---|
3.60 | 0x211BEDE8 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1.
sceSblGcAuthMgrMsSaveBBCipherInit
Version | NID |
---|---|
3.60 | 0x2E05B2DC |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit.
SceLibKernel_37F4ED04
Version | NID |
---|---|
1.030.071-3.740.011 | 0x37F4ED04 |
It does not seem to call any imported function.
sceSblGcAuthMgrAdhocBB160Auth5
Version | NID |
---|---|
3.60 | 0x3B595E1D |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5.
sceSblGcAuthMgrAdhocBB224Auth5
Version | NID |
---|---|
3.60 | 0x4AC7EFC9 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5.
sceSblGcAuthMgrMsSaveBBCipherUpdate
Version | NID |
---|---|
3.60 | 0x56A59D4F |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherUpdate.
sceSblGcAuthMgrPsmactCreateC1
Version | NID |
---|---|
3.60 | 0x622A81E6 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactCreateC1.
sceSblGcAuthMgrAdhocBB160Auth4
Version | NID |
---|---|
3.60 | 0x6314CAA3 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth4.
sceSblGcAuthMgrAdhocBB224Auth4
Version | NID |
---|---|
3.60 | 0x65126005 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth4.
sceKernelRegisterThreadEventHandler
Version | NID |
---|---|
3.60 | 0x6D8C0F13 |
Wrapper to SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler.
int sceKernelRegisterThreadEventHandler(char *name, SceUID thread_id, SceUInt32 mask, SceKernelThreadEventHandler *handler, void *common);
sceSblGcAuthMgrMsSaveBBMacFinal
Version | NID |
---|---|
3.60 | 0x774AE3CB |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacFinal.
sceSblGcAuthMgrAdhocBB160GetKeys
Version | NID |
---|---|
3.60 | 0x84C75DC3 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160GetKeys.
sceSblGcAuthMgrAdhocBB160BroadCastEncrypt
Version | NID |
---|---|
3.60 | 0x88E72157 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastEncrypt.
sceSblGcAuthMgrSclkGetData1
Version | NID |
---|---|
3.60 | 0x93A6570E |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrSclkGetData1.
sceSblGcAuthMgrPcactGetChallenge
Version | NID |
---|---|
0.931.010-1.000.041 | not present |
1.80-3.60 | 0x9557D15C |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge. Calls it with epasswordSize = 0x20 and challengeSize = 0x80.
// epassword size must be 0x20 bytes // challenge size must be 0x80 bytes int sceSblGcAuthMgrPcactGetChallenge(SceUInt32 id, const char *epassword, char *challenge);
sceSblGcAuthMgrAdhocBB160Init
Version | NID |
---|---|
3.60 | 0x9B28E1AF |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init.
sceKernelGetMainModuleSdkVersion
Version | NID |
---|---|
0.931.010-1.06 | not present |
1.500.151-3.740.011 | 0x9F793F84 |
Gets the module SDK version from the process' SceProcessParam. Used for PSN Auth in SceShell.
int sceKernelGetMainModuleSdkVersion(void);
sceKernelLoadModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0xBBE82155 |
sceKernelLoadStartModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x2DCC4AFA |
sceKernelStartModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x702425D5 |
sceKernelStopModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x3B2CBA09 |
sceKernelUnloadModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x1987920E |
sceKernelStopUnloadModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x2415F8A4 |
sceKernelCallModuleExit
Version | NID |
---|---|
1.030.071-3.740.011 | 0x15E2A45D |
sceKernelGetModuleInfoByAddr
Version | NID |
---|---|
1.030.071-3.740.011 | 0xD11A5103 |
sceKernelOpenModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x4F2D8B15 |
sceKernelCloseModule
Version | NID |
---|---|
1.030.071-3.740.011 | 0x657FA50E |
sceKernelExitProcess
Version | NID |
---|---|
1.030.071-3.740.011 | 0x7595D9AA |
sceSblGcAuthMgrAdhocBB160UniCastEncrypt
Version | NID |
---|---|
3.60 | 0xA9002567 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastEncrypt.
sceSblGcAuthMgrAdhocBB224GetKeys
Version | NID |
---|---|
3.60 | 0xAC57B6A4 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224GetKeys.
sceSblGcAuthMgrAdhocBB160Auth3
Version | NID |
---|---|
3.60 | 0xC362ECD6 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth3.
sceSblGcAuthMgrAdhocBB224Init
Version | NID |
---|---|
3.60 | 0xC8082804 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Init.
SceLibKernel_DC277B4D
Version | NID |
---|---|
3.60 | 0xDC277B4D |
Returns a 64bit value and uses 0xdeadbeef constant somehow.
ulonglong SceLibKernel_DC277B4D(int a1, SceUInt32 low);
sceSblGcAuthMgrAdhocBB224Auth2
Version | NID |
---|---|
3.60 | 0xDEAD6277 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth2.
sceSblGcAuthMgrSclkSetData2
Version | NID |
---|---|
3.60 | 0xE088B0D0 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrSclkSetData2.
sceSblGcAuthMgrAdhocBB160BroadCastDecrypt
Version | NID |
---|---|
3.60 | 0xE2984A54 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastDecrypt.
sceSblGcAuthMgrPsmactVerifyR1
Version | NID |
---|---|
3.60 | 0xEB6DA895 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactVerifyR1.
sceSblGcAuthMgrAdhocBB160Auth1
Version | NID |
---|---|
3.60 | 0xEFD76235 |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth1.
sceSblGcAuthMgrGetMediaIdType01
Version | NID |
---|---|
3.60 | 0xF7027E6A |
Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrGetMediaIdType01.
SceKernelStackChkFail
Version | NID |
---|---|
2.000.081-3.740.011 | 0xEC287338 |
__stack_chk_fail
Version | NID |
---|---|
2.000.081-3.740.011 | 0x37691BF8 |
Also exported in #SceLibSsp.
int __stack_chk_fail(void);
sceKernelSuspendThreadForVM
Version | NID |
---|---|
0.931.010-1.61 | not present |
1.660.011-2.120.011 | 0xDA76C40B |
2.500.071-3.740.011 | not present. Moved to SceKernelForMono. |
Wrapper to SceKernelThreadMgr#_sceKernelSuspendThreadForVM.
sceKernelGetThreadContextForVM
Version | NID |
---|---|
0.931.010-1.61 | not present |
1.660.011-3.740.011 | 0x22C9595E |
Wrapper to SceKernelThreadMgr#_sceKernelGetThreadContextForVM.
sceKernelSetThreadContextForVM
Version | NID |
---|---|
0.931.010-1.61 | not present |
1.660.011-3.740.011 | 0x27E6DEDE |
Wrapper to SceKernelThreadMgr#_sceKernelSetThreadContextForVM.
SceLibKernel_35D20E49
Version | NID |
---|---|
0.931.010-1.61 | not present |
1.660.011-3.740.011 | 0x35D20E49 |
Reads 4 bytes from thread memory.
It does not seem to call any imported function.
SceUInt32 SceLibKernel_35D20E49(SceUInt32 thid, SceUInt32 idx);
sceKernelWaitException
Version | NID |
---|---|
0.931.010-1.61 | not present |
1.660.011-3.740.011 | 0x11E263A5 |
Wrapper to SceKernelThreadMgr#_sceKernelWaitException.
sceKernelWaitExceptionCB
Version | NID |
---|---|
0.931.010-1.61 | not present |
1.660.011-3.740.011 | 0xAB4B5485 |
Wrapper to SceKernelThreadMgr#_sceKernelWaitExceptionCB.
sceClibPrintf
Version | NID |
---|---|
1.000.071-3.740.011 | 0xFA26BC62 |
sceClibDprintf
Version | NID |
---|---|
0.931.010-1.660.011 | not present |
1.800.060-3.740.011 | 0x4340EF77 |
int sceClibDprintf(SceUID fd, const char *fmt, ...);
sceKernelPrintBacktrace
Version | NID |
---|---|
0.931.010-2.060.011 | not present |
2.100.081-3.740.011 | 0x1C02A434 |
Wrapper to sceKernelPrintBacktraceForProcess with pid=0
.
/** * Prints call frames to STDOUT - does NOT perform a backtrace * * @return SCE_OK on success, < 0 on error * * @param pCallFrame Pointer to an array of filled up call frames * @param numFrames Number of frames in the buffer pointed to by pCallFrame */ SceInt32 sceKernelPrintBacktrace(SceKernelCallFrame* pCallFrame, SceUInt32 numFrames);
SceLibKernel_6C7365C4
Version | NID |
---|---|
1.000.071-3.740.011 | 0x6C7365C4 |
This function seems to check allowed address range for backtrace.
Related to #sceKernelBacktraceSelf.
// addr: 0-0xEFFFFFFF // pRes: pointer to a 64-bit buffer int SceLibKernel_6C7365C4(SceUInt32 addr, SceUInt64 *pRes);
SceKernelStackChkGuard
Version | NID |
---|---|
2.000.081-3.740.011 | 0x4458BCF3 |
This is a variable (4 bytes).
__stack_chk_guard
Version | NID |
---|---|
2.000.081-3.740.011 | 0x93B8AA67 |
This is a variable (4 bytes).
Also exported in #SceLibSsp.
SceLibGcc
SceLibGcc_0DFF2B2C: 0x0DFF2B2C SceLibGcc_12472ADD: 0x12472ADD SceLibGcc_29C2EB11: 0x29C2EB11 SceLibGcc_4BB45B70: 0x4BB45B70 SceLibGcc_6214B80C: 0x6214B80C SceLibGcc_74274866: 0x74274866 SceLibGcc_7772C028: 0x7772C028 SceLibGcc_7DFC519A: 0x7DFC519A SceLibGcc_83A4F46F: 0x83A4F46F SceLibGcc_8A5F29D8: 0x8A5F29D8 SceLibGcc_8D4953C7: 0x8D4953C7 SceLibGcc_A22B2436: 0xA22B2436 SceLibGcc_AC15DBA5: 0xAC15DBA5 SceLibGcc_B1CD7AC2: 0xB1CD7AC2 SceLibGcc_BAC00FF7: 0xBAC00FF7 SceLibGcc_CD43FEDC: 0xCD43FEDC SceLibGcc_DA5097CE: 0xDA5097CE SceLibGcc_DAB28374: 0xDAB28374 SceLibGcc_DBE840D6: 0xDBE840D6 SceLibGcc_F16E32FC: 0xF16E32FC
SceLibSsp
__stack_chk_fail
Version | NID |
---|---|
1.500.151-3.740.011 | 0x39AD080B |
Also exported in #SceLibKernel.
int __stack_chk_fail(void);
__stack_chk_guard
Version | NID |
---|---|
1.500.151-3.740.011 | 0x1EA375E6 |
This is a variable (4 bytes).
Also exported in #SceLibKernel.
SceRtabi
__aeabi_lcmp
Version | NID |
---|---|
3.60 | 0x0D4F0635 |
__aeabi_lmul
Version | NID |
---|---|
3.60 | 0x141BC4CE |
__aeabi_lasr
Version | NID |
---|---|
3.60 | 0x21FF67B9 |
__aeabi_ulcmp
Version | NID |
---|---|
3.60 | 0x317B3774 |
__aeabi_idiv
Version | NID |
---|---|
3.60 | 0x38D62D60 |
__aeabi_d2lz
Version | NID |
---|---|
3.60 | 0x5024AB91 |
__aeabi_f2ulz
Version | NID |
---|---|
3.60 | 0x609CA961 |
__aeabi_idivmod
Version | NID |
---|---|
3.60 | 0x67104054 |
__aeabi_d2ulz
Version | NID |
---|---|
3.60 | 0x6BB838EF |
__aeabi_ldivmod
Version | NID |
---|---|
3.60 | 0x6CBB0E84 |
__aeabi_llsl
Version | NID |
---|---|
3.60 | 0xA5DB3A86 |
__aeabi_f2lz
Version | NID |
---|---|
3.60 | 0xAA1F1B50 |
__aeabi_uidivmod
Version | NID |
---|---|
3.60 | 0xC33391D1 |
__aeabi_llsr
Version | NID |
---|---|
3.60 | 0xCBDA815C |
__aeabi_uldivmod
Version | NID |
---|---|
3.60 | 0xCDF7708E |
__aeabi_uidiv
Version | NID |
---|---|
3.60 | 0xFB311F87 |
SceKernelForVM
SceKernelForVM_655B1F19
Version | NID |
---|---|
0.931.010-0.990 | not present |
1.000.071-1.610.061 | 0x655B1F19 |
1.66-3.740.011 | not present |
sceKernelGetThreadContextForVM
Version | NID |
---|---|
1.000.071-3.740.011 | 0x010BB885 |
sceKernelResumeThreadForVM
Version | NID |
---|---|
1.000.071-3.740.011 | 0x70F3F49D |
sceKernelSuspendThreadForVM
Version | NID |
---|---|
1.000.071-3.740.011 | 0xF5F8F795 |
SceLibRng
sceKernelGetRandomNumber
Version | NID |
---|---|
0.931.010-1.52 | not present |
1.600.061-3.740.011 | 0xB2700165 |
Wrapper to _sceKernelGetRandomNumber.
int sceKernelGetRandomNumber(void *dst, SceSize length);
SceKernelForMono
sceKernelWaitException
Version | NID |
---|---|
0.931.010-2.120.011 | not present |
2.500.071-3.740.011 | 0x1BECC64C |
sceKernelSuspendThreadForVM
Version | NID |
---|---|
0.931.010-2.120.011 | not present |
2.500.071-3.740.011 | 0x38839DA2 |
sceKernelSetThreadContextForVM
Version | NID |
---|---|
0.931.010-2.120.011 | not present |
2.500.071-3.740.011 | 0x92A0964D |
sceKernelResumeThreadForVM
Version | NID |
---|---|
0.931.010-2.120.011 | not present |
2.500.071-3.740.011 | 0x9A6D085B |
sceKernelGetThreadContextForVM
Version | NID |
---|---|
0.931.010-2.120.011 | not present |
2.500.071-3.740.011 | 0xAD210F16 |
sceKernelWaitExceptionCB
Version | NID |
---|---|
0.931.010-2.120.011 | not present |
2.500.071-3.740.011 | 0xE513151F |
Heap
The latest version of dlmalloc is included in SceLibKernel. Most of the assert checks and security are included.
Thread specific data
Each thread owns a private 2048bytes memory region with specific data (?TLS?). The end of this region is pointed by the TPIDRURO register (thus, the start address of it is TPIDRURO - 0x800).
Offset | Size | Description |
---|---|---|
0x000 | 4 | ?? |
0x004 | 4 | Thread ID |
0x008 | 4 | Stack start address |
0x00C | 4 | Stack end address |
0x010 | 4 | Current VFP exception |
0x014 | 4 | LwMutex related |
0x020 | 4 | Current priority |
0x024 | 4 | CPU affinity mask |