Difference between revisions of "SceLibKernel"

From Vita Development Wiki
Jump to navigation Jump to search
(22 intermediate revisions by 3 users not shown)
Line 7: Line 7:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! Name !! World !! Privilege
+
! Version !! World !! Privilege
 
|-
 
|-
| 1.69-3.73 || SceLibKernel || Non-secure || User
+
| 1.00-3.73 || Non-secure || User
 
|}
 
|}
  
Line 36: Line 36:
 
== SceLibKernel ==
 
== SceLibKernel ==
  
=== SceLibKernel_12D11F65 ===
+
=== sceKernelAtomicAddAndGet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 0.930 || 0x12D11F65
+
| 3.20 || 0x8F7BD940
|-
 
| 3.60 || not present
 
 
|}
 
|}
  
<source lang="C">int SceLibKernel_12D11F65(SceUID mutex_id);</source>
+
<source lang="C">SceInt8 sceKernelAtomicAddAndGet8(SceInt8 *store, SceInt8 value);</source>
 
+
=== sceKernelAtomicAddAndGet16 ===
=== SceLibKernel_10A4976F ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 0.930 || 0x10A4976F
+
| 3.20 || 0x495C52EC
|-
 
| 3.60 || not present
 
 
|}
 
|}
  
Official name is near of "CondVar::Signal".
+
<source lang="C">SceInt16 sceKernelAtomicAddAndGet16(SceInt16 *store, SceInt16 value);</source>
 
 
<source lang="C">SceBool SceLibKernel_10A4976F(int a1);</source>
 
  
=== SceLibKernel_FD295414 ===
+
=== sceKernelAtomicAddAndGet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 0.930 || 0xFD295414
+
| 3.20 || 0x2E84A93B
|-
 
| 3.60 || not present
 
 
|}
 
|}
  
Official name is near of "CondVar::Delete".
+
<source lang="C">SceInt32 sceKernelAtomicAddAndGet32(SceInt32 *store, SceInt32 value);</source>
  
<source lang="C">SceBool SceLibKernel_FD295414(int *a1);</source>
+
=== sceKernelAtomicAddAndGet64 ===
 
 
=== sceIoChstatAsync ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9739A5E2
+
| 3.20 || 0xB6CE9B9A
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoChstatAsync</code>
+
<source lang="C">SceInt64 sceKernelAtomicAddAndGet64(SceInt64 *store, SceInt64 value);</source>
  
=== sceIoChstat ===
+
=== sceKernelAtomicAddUnless8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x29482F7F
+
| 3.20 || 0x7FD94393
 
|}
 
|}
  
=== sceIoChstatByFd ===
+
<source lang="C">SceBool sceKernelAtomicAddUnless8(SceInt8 *store, SceInt8 value, SceInt8 cmpv);</source>
 +
 
 +
=== sceKernelAtomicAddUnless16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6E903AB2
+
| 3.20 || 0x1CF4AA4B
 
|}
 
|}
  
=== sceIoClose ===
+
<source lang="C">SceBool sceKernelAtomicAddUnless16(SceInt16 *store, SceInt16 value, SceInt16 cmpv);</source>
 +
 
 +
=== sceKernelAtomicAddUnless32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xF5C6F098
+
| 3.20 || 0x4B33FD3C
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>sceIoClose</code>
+
<source lang="C">SceBool sceKernelAtomicAddUnless32(SceInt32 *store, SceInt32 value, SceInt32 cmpv);</source>
  
=== sceIoDevctlAsync ===
+
=== sceKernelAtomicAddUnless64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x950F78EB
+
| 3.20 || 0xFFCE7438
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoDevctlAsync</code>
+
<source lang="C">SceBool sceKernelAtomicAddUnless64(SceInt64 *store, SceInt64 value, SceInt64 cmpv);</source>
  
=== sceIoDevctl ===
+
=== sceKernelAtomicAndAndGet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x04B30CB2
+
| 3.20 || 0x86B9170F
 
|}
 
|}
  
=== sceIoDopen ===
+
<source lang="C">SceInt8 sceKernelAtomicAndAndGet8(SceInt8 *store, SceInt8 value);</source>
 +
 
 +
=== sceKernelAtomicAndAndGet16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xA9283DD0
+
| 3.20 || 0xF9890F7E
 
|}
 
|}
  
=== sceIoDread ===
+
<source lang="C">SceInt16 sceKernelAtomicAndAndGet16(SceInt16 *store, SceInt16 value);</source>
 +
 
 +
=== sceKernelAtomicAndAndGet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9C8B6624
+
| 3.20 || 0x6709D30C
 
|}
 
|}
  
=== sceIoGetstatByFd ===
+
<source lang="C">SceInt32 sceKernelAtomicAndAndGet32(SceInt32 *store, SceInt32 value);</source>
 +
 
 +
=== sceKernelAtomicAndAndGet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x57F8CD25
+
| 3.20 || 0xAED2B370
 
|}
 
|}
  
=== sceIoGetstatAsync ===
+
<source lang="C">SceInt64 sceKernelAtomicAndAndGet64(SceInt64 *store, SceInt64 value);</source>
 +
 
 +
=== sceKernelAtomicClearAndGet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x82B20B41
+
| 3.20 || 0x17B40010
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoGetstatAsync</code>
+
<source lang="C">SceInt8 sceKernelAtomicClearAndGet8(SceInt8 *store, SceInt8 value);</source>
  
=== sceIoGetstat ===
+
=== sceKernelAtomicClearAndGet16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xBCA5B623
+
| 3.20 || 0xCC36B775
 
|}
 
|}
  
=== sceIoIoctlAsync ===
+
<source lang="C">SceInt16 sceKernelAtomicClearAndGet16(SceInt16 *store, SceInt16 value);</source>
 +
 
 +
=== sceKernelAtomicClearAndGet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x099C54B9
+
| 3.20 || 0x9DAA0DE8
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoIoctlAsync</code>
+
<source lang="C">SceInt32 sceKernelAtomicClearAndGet32(SceInt32 *store, SceInt32 value);</source>
  
=== sceIoIoctl ===
+
=== sceKernelAtomicClearAndGet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x54ABACFA
+
| 3.20 || 0x264209F3
 
|}
 
|}
  
=== sceIoLseekAsync ===
+
<source lang="C">SceInt64 sceKernelAtomicClearAndGet64(SceInt64 *store, SceInt64 value);</source>
 +
 
 +
=== sceKernelAtomicClearMask8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xCAC5D672
+
| 3.20 || 0xD7D49E36
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoLseekAsync</code>
+
<source lang="C">void sceKernelAtomicClearMask8(SceInt8 *store, SceInt8 value);</source>
  
=== sceIoLseek ===
+
=== sceKernelAtomicClearMask16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x99BA173E
+
| 3.20 || 0x5FE7DFF8
 
|}
 
|}
  
=== sceIoMkdirAsync ===
+
<source lang="C">void sceKernelAtomicClearMask16(SceInt16 *store, SceInt16 value);</source>
 +
 
 +
=== sceKernelAtomicClearMask32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x8E5FCBB1
+
| 3.20 || 0xE3DF0CB3
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoMkdirAsync</code>
+
<source lang="C">void sceKernelAtomicClearMask32(SceInt32 *store, SceInt32 value);</source>
  
=== sceIoMkdir ===
+
=== sceKernelAtomicClearMask64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9670D39F
+
| 3.20 || 0x953D118A
 
|}
 
|}
  
=== sceIoOpenAsync ===
+
<source lang="C">void sceKernelAtomicClearMask64(SceInt64 *store, SceInt64 value);</source>
 +
 
 +
=== sceKernelAtomicCompareAndSet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6A7EA9FD
+
| 3.20 || 0x327DB4C0
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoOpenAsync</code>
+
<source lang="C">void sceKernelAtomicCompareAndSet8(SceInt8 *store, SceInt8 value);</source>
  
=== sceIoOpen ===
+
=== sceKernelAtomicCompareAndSet16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6C60AC61
+
| 3.20 || 0xE8C01236
 
|}
 
|}
  
=== sceIoPreadAsync ===
+
<source lang="C">void sceKernelAtomicCompareAndSet16(SceInt16 *store, SceInt16 value);</source>
 +
 
 +
=== sceKernelAtomicCompareAndSet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xA010141E
+
| 3.20 || 0x1124A1D4
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoPreadAsync</code>
+
<source lang="C">void sceKernelAtomicCompareAndSet32(SceInt32 *store, SceInt32 value);</source>
  
=== sceIoPread ===
+
=== sceKernelAtomicCompareAndSet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x52315AD7
+
| 3.20 || 0x1EBDFCCD
 
|}
 
|}
  
=== sceIoPwriteAsync ===
+
<source lang="C">void sceKernelAtomicCompareAndSet64(SceInt64 *store, SceInt64 value);</source>
 +
 
 +
=== sceKernelAtomicDecIfPositive8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xED25BEEF
+
| 3.20 || 0x9DABE6C3
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoPwriteAsync</code>
+
<source lang="C">SceInt8 sceKernelAtomicDecIfPositive8(SceInt8 *store);</source>
  
=== sceIoPwrite ===
+
=== sceKernelAtomicDecIfPositive16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x8FFFF5A8
+
| 3.20 || 0x323718FB
 
|}
 
|}
  
=== sceIoRead ===
+
<source lang="C">SceInt16 sceKernelAtomicDecIfPositive16(SceInt16 *store);</source>
 +
 
 +
=== sceKernelAtomicDecIfPositive32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x713523E1
+
| 3.20 || 0xCA3294F1
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>sceIoRead</code>
+
<source lang="C">SceInt32 sceKernelAtomicDecIfPositive32(SceInt32 *store);</source>
  
=== sceIoRemoveAsync ===
+
=== sceKernelAtomicDecIfPositive64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x446A60AC
+
| 3.20 || 0x8BE2A007
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoRemoveAsync</code>
+
<source lang="C">SceInt64 sceKernelAtomicDecIfPositive64(SceInt64 *store);</source>
  
=== sceIoRemove ===
+
=== sceKernelAtomicGetAndAdd8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xE20ED0F3
+
| 3.20 || 0x27A2AAFA
 
|}
 
|}
  
=== sceIoRenameAsync ===
+
<source lang="C">SceInt8 sceKernelAtomicGetAndAdd8(SceInt8 *store, SceInt8 value);</source>
 +
 
 +
=== sceKernelAtomicGetAndAdd16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xEE9857CD
+
| 3.20 || 0x5674DB0C
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoRenameAsync</code>
+
<source lang="C">SceInt16 sceKernelAtomicGetAndAdd16(SceInt16 *store, SceInt16 value);</source>
  
=== sceIoRename ===
+
=== sceKernelAtomicGetAndAdd32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xF737E369
+
| 3.20 || 0x2611CB0B
 
|}
 
|}
  
=== sceIoRmdirAsync ===
+
<source lang="C">SceInt32 sceKernelAtomicGetAndAdd32(SceInt32 *store, SceInt32 value);</source>
 +
 
 +
=== sceKernelAtomicGetAndAdd64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9694D00F
+
| 3.20 || 0x63DAF37D
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoRmdirAsync</code>
+
<source lang="C">SceInt64 sceKernelAtomicGetAndAdd64(SceInt64 *store, SceInt64 value);</source>
  
=== sceIoRmdir ===
+
=== sceKernelAtomicGetAndAnd8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xE9F91EC8
+
| 3.20 || 0x53DCA02B
 
|}
 
|}
  
=== sceIoSyncAsync ===
+
<source lang="C">SceInt8 sceKernelAtomicGetAndAnd8(SceInt8 *store, SceInt8 value);</source>
 +
 
 +
=== sceKernelAtomicGetAndAnd16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xF7C7FBFE
+
| 3.20 || 0x7A0CB056
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoSyncAsync</code>
+
<source lang="C">SceInt16 sceKernelAtomicGetAndAnd16(SceInt16 *store, SceInt16 value);</source>
  
=== sceIoSync ===
+
=== sceKernelAtomicGetAndAnd32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x98ACED6D
+
| 3.20 || 0x08266595
 
|}
 
|}
  
=== sceIoWrite ===
+
<source lang="C">SceInt32 sceKernelAtomicGetAndAnd32(SceInt32 *store, SceInt32 value);</source>
 +
 
 +
=== sceKernelAtomicGetAndAnd64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x11FED231
+
| 3.20 || 0x4828BC43
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>sceIoWrite</code>
+
<source lang="C">SceInt64 sceKernelAtomicGetAndAnd64(SceInt64 *store, SceInt64 value);</source>
  
=== sceIoCompleteMultiple ===
+
=== sceKernelAtomicGetAndClear8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xA792C404
+
| 3.20 || 0xA10873A4
 
|}
 
|}
  
derived from <code>SceIofilemgr</code> <code>_sceIoCompleteMultiple</code>
+
<source lang="C">SceInt8 sceKernelAtomicGetAndClear8(SceInt8 *store, SceInt8 value);</source>
  
=== sceKernelPrintBacktrace ===
+
=== sceKernelAtomicGetAndClear16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60-3.65 || 0x1C02A434
+
| 3.20 || 0x57CD7E7D
 
|}
 
|}
  
This is maybe a guessed name.
+
<source lang="C">SceInt16 sceKernelAtomicGetAndClear16(SceInt16 *store, SceInt16 value);</source>
  
Wrapper to [[SceLibKernel#sceKernelPrintBacktraceForProcess|sceKernelPrintBacktraceForProcess]].
+
=== sceKernelAtomicGetAndClear32 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.20 || 0x0226A017
 +
|}
 +
 
 +
<source lang="C">SceInt32 sceKernelAtomicGetAndClear32(SceInt32 *store, SceInt32 value);</source>
  
<source lang="C">
+
=== sceKernelAtomicGetAndClear64 ===
/**
+
{| class="wikitable"
* Prints call frames to STDOUT - does NOT perform a backtrace
+
|-
*
+
! Version !! NID
* @return SCE_OK on success, < 0 on error
+
|-
*
+
| 3.20 || 0x436AA0B5
* @param pCallFrame Pointer to an array of filled up call frames
+
|}
* @param numFrames Number of frames in the buffer pointed to by pCallFrame
+
 
*/
+
<source lang="C">SceInt64 sceKernelAtomicGetAndClear64(SceInt64 *store, SceInt64 value);</source>
SceInt32 sceKernelPrintBacktrace(SceKernelCallFrame* pCallFrame, SceUInt32 numFrames);
 
</source>
 
  
=== sceKernelPrintBacktraceForProcess ===
+
=== sceKernelAtomicGetAndOr8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60-3.65 || 0x20E2D4B7
+
| 3.20 || 0x107A68DF
 
|}
 
|}
  
This is a guessed name.
+
<source lang="C">SceInt8 sceKernelAtomicGetAndOr8(SceInt8 *store, SceInt8 value);</source>
  
<source lang="C">
+
=== sceKernelAtomicGetAndOr16 ===
/**
+
{| class="wikitable"
* Prints call frames to STDOUT - does NOT perform a backtrace
+
|-
*
+
! Version !! NID
* @return SCE_OK on success, < 0 on error
+
|-
*
+
| 3.20 || 0x31E49E73
* @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
+
<source lang="C">SceInt16 sceKernelAtomicGetAndOr16(SceInt16 *store, SceInt16 value);</source>
*/
 
SceInt32 sceKernelPrintBacktraceForProcess(SceUID pid, SceKernelCallFrame* pCallFrame, SceUInt32 numFrames);
 
</source>
 
  
=== sceKernelBacktrace ===
+
=== sceKernelAtomicGetAndOr32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60-3.65 || 0x894037E8
+
| 3.20 || 0x984AD276
 
|}
 
|}
  
Wrapper to [[SceKernelModulemgr#sceKernelBacktrace|SceKernelModulemgr#_sceKernelBacktrace]].
+
<source lang="C">SceInt32 sceKernelAtomicGetAndOr32(SceInt32 *store, SceInt32 value);</source>
 +
 
 +
=== sceKernelAtomicGetAndOr64 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.20 || 0xC39186CD
 +
|}
  
<source lang="C">
+
<source lang="C">SceInt64 sceKernelAtomicGetAndOr64(SceInt64 *store, SceInt64 value);</source>
SceInt32 sceKernelBacktrace(SceUID threadId, SceKernelCallFrame *pCallFrameBuffer, SceSize numBytesBuffer, SceUInt32 *pNumReturn, SceInt32 mode);
 
</source>
 
  
=== sceKernelBacktraceSelf ===
+
=== sceKernelAtomicGetAndSet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60-3.65 || 0xD16C03B0
+
| 3.20 || 0x2672EA0B
 
|}
 
|}
  
<source lang="C">
+
<source lang="C">SceInt8 sceKernelAtomicGetAndSet8(SceInt8 *store, SceInt8 value);</source>
/**
+
 
* Performs a walk back in the call stack and returns obtained stack frames.
+
=== sceKernelAtomicGetAndSet16 ===
*
+
{| class="wikitable"
* @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>
 
 
 
=== sceSblGcAuthMgrAdhocBB160UniCastDecrypt ===
 
{| class="wikitable"
 
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x01E00CBF
+
| 3.20 || 0xF7B9ADFC
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160UniCastDecrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt]].
+
<source lang="C">SceInt16 sceKernelAtomicGetAndSet16(SceInt16 *store, SceInt16 value);</source>
  
=== SceLibKernel_023EAA62 ===
+
=== sceKernelAtomicGetAndSet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x023EAA62
+
| 3.20 || 0x9B43E667
 
|}
 
|}
  
=== sceKernelGetModuleVariableByNID ===
+
<source lang="C">SceInt32 sceKernelAtomicGetAndSet32(SceInt32 *store, SceInt32 value);</source>
 +
 
 +
=== sceKernelAtomicGetAndSet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x0A4DF821
+
| 3.20 || 0xD82B3A7A
 
|}
 
|}
  
This is a guessed name.
+
<source lang="C">SceInt64 sceKernelAtomicGetAndSet64(SceInt64 *store, SceInt64 value);</source>
  
Get variable address by NID.
+
=== sceKernelAtomicGetAndSub8 ===
 
 
Calls [[SceKernelModulemgr#sceKernelGetLibraryInfoByNID|SceKernelModulemgr#_sceKernelGetLibraryInfoByNID]].
 
 
 
<source lang="C">int sceKernelGetModuleVariableByNID(SceUID modid, SceNID libnid, SceNID var_nid, void **pVarAddr);</source>
 
 
 
=== sceKernelGetFunctionsByNIDs ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xBEF71602
+
| 3.20 || 0xCDF5DF67
 
|}
 
|}
  
This is a guessed name.
+
<source lang="C">SceInt8 sceKernelAtomicGetAndSub8(SceInt8 *store, SceInt8 value);</source>
  
Gets functions (maybe also variables) addresses by NIDs.
+
=== sceKernelAtomicGetAndSub16 ===
 
+
{| class="wikitable"
Calls [[SceKernelModulemgr#sceKernelGetLibraryInfoByNID|SceKernelModulemgr#_sceKernelGetLibraryInfoByNID]].
 
 
 
<source lang="C">int sceKernelGetFunctionsByNIDs(SceUID modid, SceUInt32 libnid, SceUInt32 maxnum, void *pNids, void *pEntries);</source>
 
 
 
=== sceSblGcAuthMgrAdhocBB224Auth3 ===
 
{| class="wikitable"
 
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x104D802F
+
| 3.20 || 0xAC51979C
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth3|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth3]].
+
<source lang="C">SceInt16 sceKernelAtomicGetAndSub16(SceInt16 *store, SceInt16 value);</source>
  
=== sceSblGcAuthMgrPkgVry ===
+
=== sceKernelAtomicGetAndSub32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x12C7CD2B
+
| 3.20 || 0x115C516F
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPkgVry|SceSblGcAuthMgr#_sceSblGcAuthMgrPkgVry]].
+
<source lang="C">SceInt32 sceKernelAtomicGetAndSub32(SceInt32 *store, SceInt32 value);</source>
  
=== sceSblGcAuthMgrMsSaveBBMacInit ===
+
=== sceKernelAtomicGetAndSub64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x1693032E
+
| 3.20 || 0x4AE9C8E6
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBMacInit|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacInit]].
+
<source lang="C">SceInt64 sceKernelAtomicGetAndSub64(SceInt64 *store, SceInt64 value);</source>
  
=== sceSblGcAuthMgrAdhocBB160Auth2 ===
+
=== sceKernelAtomicGetAndXor8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x1F4DF829
+
| 3.20 || 0x7350B2DF
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth2|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth2]].
+
<source lang="C">SceInt8 sceKernelAtomicGetAndXor8(SceInt8 *store, SceInt8 value);</source>
  
=== sceSblGcAuthMgrAdhocBB224Auth1 ===
+
=== sceKernelAtomicGetAndXor16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x211BEDE8
+
| 3.20 || 0x6E2D0B9E
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth1|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth1]].
+
<source lang="C">SceInt16 sceKernelAtomicGetAndXor16(SceInt16 *store, SceInt16 value);</source>
  
=== sceSblGcAuthMgrMsSaveBBCipherInit ===
+
=== sceKernelAtomicGetAndXor32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x2E05B2DC
+
| 3.20 || 0x38739E2F
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBCipherInit|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherInit]].
+
<source lang="C">SceInt32 sceKernelAtomicGetAndXor32(SceInt32 *store, SceInt32 value);</source>
  
=== SceLibKernel_35D20E49 ===
+
=== sceKernelAtomicGetAndXor64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x35D20E49
+
| 3.20 || 0x6A19BBE9
 
|}
 
|}
  
It does not seem to call any imported function.
+
<source lang="C">SceInt64 sceKernelAtomicGetAndXor64(SceInt64 *store, SceInt64 value);</source>
  
=== SceLibKernel_37F4ED04 ===
+
=== sceKernelAtomicOrAndGet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x37F4ED04
+
| 3.20 || 0x51693931
 
|}
 
|}
  
It does not seem to call any imported function.
+
<source lang="C">SceInt8 sceKernelAtomicOrAndGet8(SceInt8 *store, SceInt8 value);</source>
  
=== SceLibKernel_91FA6614 ===
+
=== sceKernelAtomicOrAndGet16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x91FA6614
+
| 3.20 || 0x8E248EBD
 
|}
 
|}
  
Temp name was sceKernelUnlockLwMutex.
+
<source lang="C">SceInt16 sceKernelAtomicOrAndGet16(SceInt16 *store, SceInt16 value);</source>
  
It does not seem to call any imported function.
+
=== sceKernelAtomicOrAndGet32 ===
 
 
=== SceLibKernel_120AFC8C ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x120AFC8C
+
| 3.20 || 0xC3B2F7F8
 
|}
 
|}
  
Temp name was sceKernelUnlockLwMutex2.
+
<source lang="C">SceInt32 sceKernelAtomicOrAndGet32(SceInt32 *store, SceInt32 value);</source>
 
 
It does not seem to call any imported function.
 
  
=== sceSblGcAuthMgrAdhocBB160Auth5 ===
+
=== sceKernelAtomicOrAndGet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x3B595E1D
+
| 3.20 || 0x809BBC7D
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5]].
+
<source lang="C">SceInt64 sceKernelAtomicOrAndGet64(SceInt64 *store, SceInt64 value);</source>
  
=== sceKernelUnlockLwMutex ===
+
=== sceKernelAtomicSet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x499EA781
+
| 3.20 || 0xE960FDA2
 
|}
 
|}
  
Wrapper to [[SceKernelThreadMgr#sceKernelUnlockLwMutex|SceKernelThreadMgr#_sceKernelUnlockLwMutex]].
+
<source lang="C">void sceKernelAtomicSet8(SceInt8 *store, SceInt8 value);</source>
  
=== sceSblGcAuthMgrAdhocBB224Auth5 ===
+
=== sceKernelAtomicSet16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x4AC7EFC9
+
| 3.20 || 0x450BFECF
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth5]].
+
<source lang="C">void sceKernelAtomicSet16(SceInt16 *store, SceInt16 value);</source>
  
=== sceSblGcAuthMgrMsSaveBBCipherUpdate ===
+
=== sceKernelAtomicSet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x56A59D4F
+
| 3.20 || 0xB69DA09B
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBCipherUpdate|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBCipherUpdate]].
+
<source lang="C">void sceKernelAtomicSet32(SceInt32 *store, SceInt32 value);</source>
  
=== sceSblGcAuthMgrPsmactCreateC1 ===
+
=== sceKernelAtomicSet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x622A81E6
+
| 3.20 || 0xC8A4339C
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPsmactCreateC1|SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactCreateC1]].
+
<source lang="C">void sceKernelAtomicSet64(SceInt64 *store, SceInt64 value);</source>
  
=== sceSblGcAuthMgrAdhocBB160Auth4 ===
+
=== sceKernelAtomicSubAndGet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6314CAA3
+
| 3.20 || 0x99E1796E
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth4|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth4]].
+
<source lang="C">SceInt8 sceKernelAtomicSubAndGet8(SceInt8 *store, SceInt8 value);</source>
  
=== sceSblGcAuthMgrAdhocBB224Auth4 ===
+
=== sceKernelAtomicSubAndGet16 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x65126005
+
| 3.20 || 0xC26BBBB1
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth4|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth4]].
+
<source lang="C">SceInt16 sceKernelAtomicSubAndGet16(SceInt16 *store, SceInt16 value);</source>
  
=== SceLibKernel_6C7365C4 ===
+
=== sceKernelAtomicSubAndGet32 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6C7365C4
+
| 3.20 || 0x01C9CD92
 
|}
 
|}
  
It does not seem to call any imported function.
+
<source lang="C">SceInt32 sceKernelAtomicSubAndGet32(SceInt32 *store, SceInt32 value);</source>
 
 
Related to [[#sceKernelBacktraceSelf]].
 
  
=== sceKernelRegisterThreadEventHandler ===
+
=== sceKernelAtomicSubAndGet64 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6D8C0F13
+
| 3.20 || 0x9BB4A94B
 
|}
 
|}
  
Wrapper to [[SceKernelThreadMgr#sceKernelRegisterThreadEventHandler|SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler]].
+
<source lang="C">SceInt64 sceKernelAtomicSubAndGet64(SceInt64 *store, SceInt64 value);</source>
 
 
<source lang="C">int sceKernelRegisterThreadEventHandler(char *name, SceUID thread_id, SceUInt32 mask, SceKernelThreadEventHandler *handler, void *common);</source>
 
  
=== sceKernelTryLockLwMutex_old ===
+
=== sceKernelAtomicXorAndGet8 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xA6A2C915
+
| 3.20 || 0x634AF062
 
|}
 
|}
  
This is a guessed name. Temp name was sceKernelTryLockLwMutex.
+
<source lang="C">SceInt8 sceKernelAtomicXorAndGet8(SceInt8 *store, SceInt8 value);</source>
  
PSP-like "sceKernelTryLockLwMutex".
+
=== sceKernelAtomicXorAndGet16 ===
 
 
<source lang="C">int sceKernelTryLockLwMutex_old(SceLwMutex *mutex, SceUInt32 count);</source>
 
 
 
=== sceKernelTryLockLwMutex_1 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x6F9C4CC1
+
| 3.20 || 0x6F524195
 
|}
 
|}
  
This is a guessed name.
+
<source lang="C">SceInt16 sceKernelAtomicXorAndGet16(SceInt16 *store, SceInt16 value);</source>
  
It calls PSP-like [[#sceKernelTryLockLwMutex_old]], and on failure [[SceKernelThreadMgr#_sceKernelLockLwMutex]] with flag 1.
+
=== sceKernelAtomicXorAndGet32 ===
 
+
{| class="wikitable"
<source lang="C">int sceKernelTryLockLwMutex_1(SceLwMutex *mutex, SceUInt32 count, void *in_out);</source>
 
 
 
=== sceKernelTryLockLwMutex_0 ===
 
{| class="wikitable"
 
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xA7819967
+
| 3.20 || 0x46940704
 
|}
 
|}
  
This is a guessed name.
+
<source lang="C">SceInt32 sceKernelAtomicXorAndGet32(SceInt32 *store, SceInt32 value);</source>
  
It calls PSP-like [[#sceKernelTryLockLwMutex_old]], and on failure [[SceKernelThreadMgr#_sceKernelLockLwMutex]] with flag 0.
+
=== sceKernelAtomicXorAndGet64 ===
 
 
<source lang="C">int sceKernelTryLockLwMutex_0(SceLwMutex *mutex, SceUInt32 count, void *in_out);</source>
 
 
 
=== sceClibBzeroWords ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x70867F93
+
| 3.20 || 0xDDC6866E
 
|}
 
|}
  
This is a guessed name. A good name could be sceClibBzeroWords because all it does is "sceClibMemset(pBase, 0, nWords << 2);".
+
<source lang="C">SceInt64 sceKernelAtomicXorAndGet64(SceInt64 *store, SceInt64 value);</source>
  
<source lang="C">int sceClibBzeroWords(SceUInt64 unused, SceSize nWords, SceUInt32 *pBase);</source>
+
=== SceLibKernel_12D11F65 ===
 
 
=== sceSblGcAuthMgrMsSaveBBMacFinal ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x774AE3CB
+
| 0.930 || 0x12D11F65
 +
|-
 +
| 3.60 || not present
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrMsSaveBBMacFinal|SceSblGcAuthMgr#_sceSblGcAuthMgrMsSaveBBMacFinal]].
+
<source lang="C">int SceLibKernel_12D11F65(SceUID mutex_id);</source>
  
=== sceSblGcAuthMgrAdhocBB160GetKeys ===
+
=== SceLibKernel_10A4976F ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x84C75DC3
+
| 0.930 || 0x10A4976F
 +
|-
 +
| 3.60 || not present
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160GetKeys|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160GetKeys]].
+
Official name is near of "CondVar::Signal".
 +
 
 +
<source lang="C">SceBool SceLibKernel_10A4976F(int a1);</source>
  
=== sceSblGcAuthMgrAdhocBB160BroadCastEncrypt ===
+
=== SceLibKernel_FD295414 ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x88E72157
+
| 0.930 || 0xFD295414
 +
|-
 +
| 3.60 || not present
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160BroadCastEncrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastEncrypt]].
+
Official name is near of "CondVar::Delete".
 +
 
 +
<source lang="C">SceBool SceLibKernel_FD295414(int *a1);</source>
  
=== sceSblGcAuthMgrSclkGetData1 ===
+
=== sceIoChstatAsync ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x93A6570E
+
| 3.60 || 0x9739A5E2
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrSclkGetData1|SceSblGcAuthMgr#_sceSblGcAuthMgrSclkGetData1]].
+
derived from <code>SceIofilemgr</code> <code>_sceIoChstatAsync</code>
  
=== sceSblGcAuthMgrPcactGetChallenge ===
+
=== sceIoChstat ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9557D15C
+
| 3.60 || 0x29482F7F
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPcactGetChallenge|SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge]].
+
=== sceIoChstatByFd ===
 
 
=== sceSblGcAuthMgrAdhocBB160Init ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9B28E1AF
+
| 3.60 || 0x6E903AB2
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Init|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init]].
+
=== sceIoClose ===
 
 
=== SceLibKernel_9EF798C1 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9EF798C1
+
| 3.60 || 0xF5C6F098
 
|}
 
|}
  
It does not seem to call any imported function. Maybe related to low mutexes.
+
derived from <code>SceIofilemgr</code> <code>sceIoClose</code>
  
<source lang="C">int SceLibKernel_9EF798C1(void *maybe_mutex, SceUInt32 maybe_count);</source>
+
=== sceIoDevctlAsync ===
 
 
=== SceLibKernel_9F793F84 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x9F793F84
+
| 3.60 || 0x950F78EB
 
|}
 
|}
  
Gets a version from the process' [[SceProcessmgr#types|SceKernelProcessParam]]. Used for PSN Auth in [[SceShell]].
+
derived from <code>SceIofilemgr</code> <code>_sceIoDevctlAsync</code>
  
<source lang="C">int SceLibKernel_9F793F84(void);</source>
+
=== sceIoDevctl ===
 
 
=== sceSblGcAuthMgrAdhocBB160UniCastEncrypt ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xA9002567
+
| 1.000.071-3.740.011 || 0x04B30CB2
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160UniCastEncrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastEncrypt]].
+
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>
  
=== sceSblGcAuthMgrAdhocBB224GetKeys ===
+
=== sceIoDopen ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xAC57B6A4
+
| 3.60 || 0xA9283DD0
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224GetKeys|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224GetKeys]].
+
=== sceIoDread ===
 
 
=== sceSblGcAuthMgrAdhocBB160Auth3 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xC362ECD6
+
| 3.60 || 0x9C8B6624
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth3|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth3]].
+
=== sceIoGetstatByFd ===
 
 
=== sceSblGcAuthMgrAdhocBB224Init ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xC8082804
+
| 3.60 || 0x57F8CD25
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Init|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Init]].
+
=== sceIoGetstatAsync ===
 
 
=== SceLibKernel_DC277B4D ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xDC277B4D
+
| 3.60 || 0x82B20B41
 
|}
 
|}
  
Returns a 64bit value and uses 0xdeadbeef constant somehow.
+
derived from <code>SceIofilemgr</code> <code>_sceIoGetstatAsync</code>
  
<source lang="C">ulonglong SceLibKernel_DC277B4D(int a1, SceUInt32 low);</source>
+
=== sceIoGetstat ===
 
 
=== sceSblGcAuthMgrAdhocBB224Auth2 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xDEAD6277
+
| 3.60 || 0xBCA5B623
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB224Auth2|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB224Auth2]].
+
=== sceIoIoctlAsync ===
 
 
=== sceSblGcAuthMgrSclkSetData2 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xE088B0D0
+
| 3.60 || 0x099C54B9
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrSclkSetData2|SceSblGcAuthMgr#_sceSblGcAuthMgrSclkSetData2]].
+
derived from <code>SceIofilemgr</code> <code>_sceIoIoctlAsync</code>
  
=== sceSblGcAuthMgrAdhocBB160BroadCastDecrypt ===
+
=== sceIoIoctl ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xE2984A54
+
| 3.60 || 0x54ABACFA
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160BroadCastDecrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160BroadCastDecrypt]].
+
=== sceIoLseekAsync ===
 
 
=== sceSblGcAuthMgrPsmactVerifyR1 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xEB6DA895
+
| 3.60 || 0xCAC5D672
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPsmactVerifyR1|SceSblGcAuthMgr#_sceSblGcAuthMgrPsmactVerifyR1]].
+
derived from <code>SceIofilemgr</code> <code>_sceIoLseekAsync</code>
  
=== sceSblGcAuthMgrAdhocBB160Auth1 ===
+
=== sceIoLseek ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xEFD76235
+
| 3.60 || 0x99BA173E
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth1|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth1]].
+
=== sceIoMkdirAsync ===
 
 
=== sceSblGcAuthMgrGetMediaIdType01 ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xF7027E6A
+
| 3.60 || 0x8E5FCBB1
 
|}
 
|}
  
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrGetMediaIdType01|SceSblGcAuthMgr#_sceSblGcAuthMgrGetMediaIdType01]].
+
derived from <code>SceIofilemgr</code> <code>_sceIoMkdirAsync</code>
  
=== SceKernelStackChkGuard ===
+
=== sceIoMkdir ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x4458BCF3
+
| 3.60 || 0x9670D39F
 
|}
 
|}
  
This is a variable (4 bytes).
+
=== sceIoOpenAsync ===
 
 
=== __stack_chk_guard ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60-3.65 || 0x93B8AA67
+
| 3.60 || 0x6A7EA9FD
 
|}
 
|}
  
This is a variable (4 bytes).
+
derived from <code>SceIofilemgr</code> <code>_sceIoOpenAsync</code>
  
== SceLibGcc ==
+
=== sceIoOpen ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x6C60AC61
 +
|}
  
          SceLibGcc_0DFF2B2C: 0x0DFF2B2C
+
=== sceIoPreadAsync ===
          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 ==
 
 
 
=== sceKernelStackChkFail ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x39AD080B
+
| 3.60 || 0xA010141E
 
|}
 
|}
  
<source lang="C">int sceKernelStackChkFail(void);</source>
+
derived from <code>SceIofilemgr</code> <code>_sceIoPreadAsync</code>
  
=== __stack_chk_guard ===
+
=== sceIoPread ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60-3.65 || 0x1EA375E6
+
| 3.60 || 0x52315AD7
 
|}
 
|}
  
This is a variable (4 bytes). Same variable as [SceLibKernel#stack_chk_guard|SceLibKernel library's stack_chk_guard]].
+
=== sceIoPwriteAsync ===
 
 
== SceRtabi ==
 
 
 
          SceRtabi_0D4F0635: 0x0D4F0635
 
          SceRtabi_141BC4CE: 0x141BC4CE
 
          SceRtabi_21FF67B9: 0x21FF67B9
 
          SceRtabi_317B3774: 0x317B3774
 
          SceRtabi_38D62D60: 0x38D62D60
 
          SceRtabi_5024AB91: 0x5024AB91
 
          SceRtabi_609CA961: 0x609CA961
 
          SceRtabi_67104054: 0x67104054
 
          SceRtabi_6BB838EF: 0x6BB838EF
 
          SceRtabi_6CBB0E84: 0x6CBB0E84
 
          SceRtabi_A5DB3A86: 0xA5DB3A86
 
          SceRtabi_AA1F1B50: 0xAA1F1B50
 
          SceRtabi_C33391D1: 0xC33391D1
 
          SceRtabi_CBDA815C: 0xCBDA815C
 
          SceRtabi_CDF7708E: 0xCDF7708E
 
          SceRtabi_FB311F87: 0xFB311F87
 
 
 
== SceKernelForVM ==
 
 
 
=== sceKernelGetThreadContextForVM ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x010BB885
+
| 3.60 || 0xED25BEEF
 
|}
 
|}
  
=== sceKernelResumeThreadForVM ===
+
derived from <code>SceIofilemgr</code> <code>_sceIoPwriteAsync</code>
 +
 
 +
=== sceIoPwrite ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x70F3F49D
+
| 3.60 || 0x8FFFF5A8
 
|}
 
|}
  
=== sceKernelSuspendThreadForVM ===
+
=== sceIoRead ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xF5F8F795
+
| 3.60 || 0x713523E1
 
|}
 
|}
  
== SceLibRng ==
+
derived from <code>SceIofilemgr</code> <code>sceIoRead</code>
  
=== sceKernelGetRandomNumber ===
+
=== sceIoRemoveAsync ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0xB2700165
+
| 3.60 || 0x446A60AC
 
|}
 
|}
  
Wrapper to [[SceSblSsMgr#sceKernelGetRandomNumber|_sceKernelGetRandomNumber]].
+
derived from <code>SceIofilemgr</code> <code>_sceIoRemoveAsync</code>
  
<source lang="C">int sceKernelGetRandomNumber(void *dst, SceSize length);</source>
+
=== sceIoRemove ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xE20ED0F3
 +
|}
  
== SceKernelForMono ==
+
=== sceIoRenameAsync ===
 
 
=== sceKernelWaitException ===
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x1BECC64C
+
| 3.60 || 0xEE9857CD
 
|}
 
|}
  
=== sceKernelSuspendThreadForVM ===
+
derived from <code>SceIofilemgr</code> <code>_sceIoRenameAsync</code>
 +
 
 +
=== sceIoRename ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
 
! Version !! NID
 
! Version !! NID
 
|-
 
|-
| 3.60 || 0x38839DA2
+
| 3.60 || 0xF737E369
 
|}
 
|}
  
=== sceKernelSetThreadContextForVM ===
+
=== sceIoRmdirAsync ===
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Version !! NID
+
! Version !! NID
|-
+
|-
| 3.60 || 0x92A0964D
+
| 3.60 || 0x9694D00F
|}
+
|}
 
+
 
=== sceKernelResumeThreadForVM ===
+
derived from <code>SceIofilemgr</code> <code>_sceIoRmdirAsync</code>
{| class="wikitable"
+
 
|-
+
=== sceIoRmdir ===
! Version !! NID
+
{| class="wikitable"
|-
+
|-
| 3.60 || 0x9A6D085B
+
! Version !! NID
|}
+
|-
 
+
| 3.60 || 0xE9F91EC8
=== sceKernelGetThreadContextForVM ===
+
|}
{| class="wikitable"
+
 
|-
+
=== sceIoSyncAsync ===
! Version !! NID
+
{| class="wikitable"
|-
+
|-
| 3.60 || 0xAD210F16
+
! Version !! NID
|}
+
|-
 +
| 3.60 || 0xF7C7FBFE
 +
|}
 +
 
 +
derived from <code>SceIofilemgr</code> <code>_sceIoSyncAsync</code>
 +
 
 +
=== sceIoSync ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x98ACED6D
 +
|}
 +
 
 +
=== sceIoWrite ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x11FED231
 +
|}
 +
 
 +
derived from <code>SceIofilemgr</code> <code>sceIoWrite</code>
 +
 
 +
=== sceIoCompleteMultiple ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xA792C404
 +
|}
 +
 
 +
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
 +
|-
 +
| 3.60-3.65 || 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
 +
|-
 +
| 3.60-3.65 || 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>
 +
 
 +
=== sceSblGcAuthMgrAdhocBB160UniCastDecrypt ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x01E00CBF
 +
|}
 +
 
 +
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160UniCastDecrypt|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt]].
 +
 
 +
=== sceKernelPuts ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.902-3.60 || 0x023EAA62
 +
|}
 +
 
 +
Dummy function in FW 3.60.
 +
 
 +
<source lang="C">int sceKernelPuts(const char* str);</source>
 +
 
 +
=== sceKernelGetLibraryVariableAddress ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-1.692 || not present
 +
|-
 +
| 1.800.071-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-1.692 || not present
 +
|-
 +
| 1.800.071-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-1.692 || not present
 +
|-
 +
| 1.800.071-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]].
 +
 
 +
=== 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
 +
|-
 +
| 3.60 || 0x37F4ED04
 +
|}
 +
 
 +
It does not seem to call any imported function.
 +
 
 +
=== SceLibKernel_91FA6614 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.00 || not present
 +
|-
 +
| 3.60 || 0x91FA6614
 +
|}
 +
 
 +
Temp name was sceKernelUnlockLwMutex.
 +
 
 +
It does not seem to call any imported function.
 +
 
 +
=== SceLibKernel_120AFC8C ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x120AFC8C
 +
|}
 +
 
 +
Temp name was sceKernelUnlockLwMutex2.
 +
 
 +
It does not seem to call any imported function.
 +
 
 +
=== sceSblGcAuthMgrAdhocBB160Auth5 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x3B595E1D
 +
|}
 +
 
 +
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Auth5|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5]].
 +
 
 +
=== sceKernelUnlockLwMutex ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x499EA781
 +
|}
 +
 
 +
Wrapper to [[SceKernelThreadMgr#sceKernelUnlockLwMutex|SceKernelThreadMgr#_sceKernelUnlockLwMutex]].
 +
 
 +
=== 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]].
 +
 
 +
=== SceLibKernel_6C7365C4 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x6C7365C4
 +
|}
 +
 
 +
It does not seem to call any imported function.
 +
 
 +
Related to [[#sceKernelBacktraceSelf]].
 +
 
 +
=== sceKernelRegisterThreadEventHandler ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 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>
 +
 
 +
=== sceKernelLockLwMutex ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x46E7BE7B
 +
|}
 +
 
 +
=== sceKernelLockLwMutexCB ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x3148C6B6
 +
|}
 +
 
 +
=== sceKernelTryLockLwMutex_old ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xA6A2C915
 +
|}
 +
 
 +
This is a guessed name. Temp name was sceKernelTryLockLwMutex.
 +
 
 +
PSP-like "sceKernelTryLockLwMutex".
 +
 
 +
<source lang="C">int sceKernelTryLockLwMutex_old(SceLwMutex *mutex, SceUInt32 count);</source>
 +
 
 +
=== sceKernelTryLockLwMutexCB ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x6F9C4CC1
 +
|}
 +
 
 +
This is a guessed name.
 +
 
 +
It calls PSP-like [[#sceKernelTryLockLwMutex_old]], and on failure [[SceKernelThreadMgr#_sceKernelLockLwMutex]] with flag 1 (CB).
 +
 
 +
<source lang="C">int sceKernelTryLockLwMutexCB(SceLwMutex *mutex, SceUInt32 count, void *in_out);</source>
 +
 
 +
=== sceKernelTryLockLwMutex ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xA7819967
 +
|}
 +
 
 +
This is a guessed name.
 +
 
 +
It calls PSP-like [[#sceKernelTryLockLwMutex_old]], and on failure [[SceKernelThreadMgr#_sceKernelLockLwMutex]] with flag 0 (non-CB).
 +
 
 +
<source lang="C">int sceKernelTryLockLwMutex_0(SceLwMutex *mutex, SceUInt32 count, void *in_out);</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
 +
|-
 +
| 3.60 || 0x9557D15C
 +
|}
 +
 
 +
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrPcactGetChallenge|SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge]].
 +
 
 +
=== sceSblGcAuthMgrAdhocBB160Init ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x9B28E1AF
 +
|}
 +
 
 +
Wrapper to [[SceSblGcAuthMgr#sceSblGcAuthMgrAdhocBB160Init|SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init]].
 +
 
 +
=== SceLibKernel_9EF798C1 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0x9EF798C1
 +
|}
 +
 
 +
It does not seem to call any imported function. Maybe related to low mutexes.
 +
 
 +
<source lang="C">int SceLibKernel_9EF798C1(void *maybe_mutex, SceUInt32 maybe_count);</source>
 +
 
 +
=== sceKernelGetMainModuleSdkVersion ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.500.151-3.740.011 || 0x9F793F84
 +
|}
 +
 
 +
Gets the module SDK version from the process' [[SceProcessmgr#types|SceKernelProcessParam]]. Used for PSN Auth in [[SceShell]].
 +
 
 +
<source lang="C">int sceKernelGetMainModuleSdkVersion(void);</source>
 +
 
 +
=== 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-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-1.61 || not present
 +
|-
 +
| 1.660.011-3.740.011 || 0x22C9595E
 +
|}
 +
 
 +
Wrapper to [[SceKernelThreadMgr#_sceKernelGetThreadContextForVM]].
 +
 
 +
=== sceKernelSetThreadContextForVM ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-1.61 || not present
 +
|-
 +
| 1.660.011-3.740.011 || 0x27E6DEDE
 +
|}
 +
 
 +
Wrapper to [[SceKernelThreadMgr#_sceKernelSetThreadContextForVM]].
 +
 
 +
=== SceLibKernel_35D20E49 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-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-1.61 || not present
 +
|-
 +
| 1.660.011-3.740.011 || 0x1C02A434
 +
|}
 +
 
 +
Wrapper to [[SceKernelThreadMgr#_sceKernelWaitException]].
 +
 
 +
=== sceKernelWaitExceptionCB ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-1.61 || not present
 +
|-
 +
| 1.660.011-3.740.011 || 0xAB4B5485
 +
|}
 +
 
 +
Wrapper to [[SceKernelThreadMgr#_sceKernelWaitExceptionCB]].
 +
 
 +
=== sceClibPrintf ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 1.000.071-3.740.011 || 0xFA26BC62
 +
|}
 +
 
 +
=== sceKernelPrintBacktrace ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.06 || 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>
 +
 
 +
=== 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
 +
|}
 +
 
 +
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"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xAA1F1B50
 +
|}
 +
 
 +
=== __aeabi_uidivmod ===
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xC33391D1
 +
|}
 +
 
 +
=== __aeabi_llsr ===
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xCBDA815C
 +
|}
 +
 
 +
=== __aeabi_uldivmod ===
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xCDF7708E
 +
|}
 +
 
 +
=== __aeabi_uidiv ===
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 3.60 || 0xFB311F87
 +
|}
 +
 
 +
== SceKernelForVM ==
 +
 
 +
=== SceKernelForVM_655B1F19 ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-0.990 || not present
 +
|-
 +
| 1.000.071-1.610.061 || 0x655B1F19
 +
|-
 +
| 1.66-3.740.011 || not present
 +
|}
 +
 
 +
=== sceKernelGetThreadContextForVM ===
 +
{| 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-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 ==
 +
 
 +
=== sceKernelWaitException ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.120.011 || not present
 +
|-
 +
| 2.500.071-3.740.011 || 0x1BECC64C
 +
|}
 +
 
 +
=== sceKernelSuspendThreadForVM ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.120.011 || not present
 +
|-
 +
| 2.500.071-3.740.011 || 0x38839DA2
 +
|}
 +
 
 +
=== sceKernelSetThreadContextForVM ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.120.011 || not present
 +
|-
 +
| 2.500.071-3.740.011 || 0x92A0964D
 +
|}
 +
 
 +
=== sceKernelResumeThreadForVM ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.120.011 || not present
 +
|-
 +
| 2.500.071-3.740.011 || 0x9A6D085B
 +
|}
 +
 
 +
=== sceKernelGetThreadContextForVM ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.120.011 || not present
 +
|-
 +
| 2.500.071-3.740.011 || 0xAD210F16
 +
|}
 +
 
 +
=== sceKernelWaitExceptionCB ===
 +
{| class="wikitable"
 +
|-
 +
! Version !! NID
 +
|-
 +
| 0.931-2.120.011 || not present
 +
|-
 +
| 2.500.071-3.740.011 || 0xE513151F
 +
|}
 +
 
 +
== Heap ==
  
=== sceKernelWaitExceptionCB ===
 
{| class="wikitable"
 
|-
 
! Version !! NID
 
|-
 
| 3.60 || 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.
 
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.
  
Line 1,166: Line 2,253:
 
|}
 
|}
  
 
+
[[Category:ARM]]
[[Category:Modules]][[Category:Usermode]]
+
[[Category:Usermode]]
 +
[[Category:Modules]]
 +
[[Category:Library]]

Revision as of 18:20, 11 May 2023

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 and exists only in usermode. The SELF can be found in os0:us/libkernel.suprx.

Version World Privilege
1.00-3.73 Non-secure User

Libraries

Known NIDs

Version Name World Privilege NID
1.69-3.60 SceLibKernel Non-secure User 0xCAE9ACE6
1.69-3.60 SceLibRng Non-secure User 0xF9AC7CF8
1.69-3.60 SceLibGcc Non-secure User 0x567AF9A6
1.69-3.60 SceLibSsp Non-secure User 0x8FA98EF1
1.69-3.60 SceRtabi Non-secure User 0xA941943F
1.69-3.60 SceKernelForVM Non-secure User 0xA2B3EA8F
3.60 SceKernelForMono Non-secure User 0x5FEEA076

SceLibKernel

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
void sceKernelAtomicCompareAndSet8(SceInt8 *store, SceInt8 value);

sceKernelAtomicCompareAndSet16

Version NID
3.20 0xE8C01236
void sceKernelAtomicCompareAndSet16(SceInt16 *store, SceInt16 value);

sceKernelAtomicCompareAndSet32

Version NID
3.20 0x1124A1D4
void sceKernelAtomicCompareAndSet32(SceInt32 *store, SceInt32 value);

sceKernelAtomicCompareAndSet64

Version NID
3.20 0x1EBDFCCD
void sceKernelAtomicCompareAndSet64(SceInt64 *store, SceInt64 value);

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);

SceLibKernel_12D11F65

Version NID
0.930 0x12D11F65
3.60 not present
int SceLibKernel_12D11F65(SceUID mutex_id);

SceLibKernel_10A4976F

Version NID
0.930 0x10A4976F
3.60 not present

Official name is near of "CondVar::Signal".

SceBool SceLibKernel_10A4976F(int a1);

SceLibKernel_FD295414

Version NID
0.930 0xFD295414
3.60 not present

Official name is near of "CondVar::Delete".

SceBool SceLibKernel_FD295414(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
3.60-3.65 0x894037E8

Wrapper to SceKernelModulemgr#_sceKernelBacktrace.

SceInt32 sceKernelBacktrace(SceUID threadId, SceKernelCallFrame *pCallFrameBuffer, SceSize numBytesBuffer, SceUInt32 *pNumReturn, SceInt32 mode);

sceKernelBacktraceSelf

Version NID
3.60-3.65 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);

sceSblGcAuthMgrAdhocBB160UniCastDecrypt

Version NID
3.60 0x01E00CBF

Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160UniCastDecrypt.

sceKernelPuts

Version NID
0.902-3.60 0x023EAA62

Dummy function in FW 3.60.

int sceKernelPuts(const char* str);

sceKernelGetLibraryVariableAddress

Version NID
0.931-1.692 not present
1.800.071-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-1.692 not present
1.800.071-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-1.692 not present
1.800.071-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.

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
3.60 0x37F4ED04

It does not seem to call any imported function.

SceLibKernel_91FA6614

Version NID
3.00 not present
3.60 0x91FA6614

Temp name was sceKernelUnlockLwMutex.

It does not seem to call any imported function.

SceLibKernel_120AFC8C

Version NID
3.60 0x120AFC8C

Temp name was sceKernelUnlockLwMutex2.

It does not seem to call any imported function.

sceSblGcAuthMgrAdhocBB160Auth5

Version NID
3.60 0x3B595E1D

Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Auth5.

sceKernelUnlockLwMutex

Version NID
3.60 0x499EA781

Wrapper to SceKernelThreadMgr#_sceKernelUnlockLwMutex.

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.

SceLibKernel_6C7365C4

Version NID
3.60 0x6C7365C4

It does not seem to call any imported function.

Related to #sceKernelBacktraceSelf.

sceKernelRegisterThreadEventHandler

Version NID
3.60 0x6D8C0F13

Wrapper to SceKernelThreadMgr#_sceKernelRegisterThreadEventHandler.

int sceKernelRegisterThreadEventHandler(char *name, SceUID thread_id, SceUInt32 mask, SceKernelThreadEventHandler *handler, void *common);

sceKernelLockLwMutex

Version NID
3.60 0x46E7BE7B

sceKernelLockLwMutexCB

Version NID
3.60 0x3148C6B6

sceKernelTryLockLwMutex_old

Version NID
3.60 0xA6A2C915

This is a guessed name. Temp name was sceKernelTryLockLwMutex.

PSP-like "sceKernelTryLockLwMutex".

int sceKernelTryLockLwMutex_old(SceLwMutex *mutex, SceUInt32 count);

sceKernelTryLockLwMutexCB

Version NID
3.60 0x6F9C4CC1

This is a guessed name.

It calls PSP-like #sceKernelTryLockLwMutex_old, and on failure SceKernelThreadMgr#_sceKernelLockLwMutex with flag 1 (CB).

int sceKernelTryLockLwMutexCB(SceLwMutex *mutex, SceUInt32 count, void *in_out);

sceKernelTryLockLwMutex

Version NID
3.60 0xA7819967

This is a guessed name.

It calls PSP-like #sceKernelTryLockLwMutex_old, and on failure SceKernelThreadMgr#_sceKernelLockLwMutex with flag 0 (non-CB).

int sceKernelTryLockLwMutex_0(SceLwMutex *mutex, SceUInt32 count, void *in_out);

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
3.60 0x9557D15C

Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrPcactGetChallenge.

sceSblGcAuthMgrAdhocBB160Init

Version NID
3.60 0x9B28E1AF

Wrapper to SceSblGcAuthMgr#_sceSblGcAuthMgrAdhocBB160Init.

SceLibKernel_9EF798C1

Version NID
3.60 0x9EF798C1

It does not seem to call any imported function. Maybe related to low mutexes.

int SceLibKernel_9EF798C1(void *maybe_mutex, SceUInt32 maybe_count);

sceKernelGetMainModuleSdkVersion

Version NID
1.500.151-3.740.011 0x9F793F84

Gets the module SDK version from the process' SceKernelProcessParam. Used for PSN Auth in SceShell.

int sceKernelGetMainModuleSdkVersion(void);

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-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-1.61 not present
1.660.011-3.740.011 0x22C9595E

Wrapper to SceKernelThreadMgr#_sceKernelGetThreadContextForVM.

sceKernelSetThreadContextForVM

Version NID
0.931-1.61 not present
1.660.011-3.740.011 0x27E6DEDE

Wrapper to SceKernelThreadMgr#_sceKernelSetThreadContextForVM.

SceLibKernel_35D20E49

Version NID
0.931-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-1.61 not present
1.660.011-3.740.011 0x1C02A434

Wrapper to SceKernelThreadMgr#_sceKernelWaitException.

sceKernelWaitExceptionCB

Version NID
0.931-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

sceKernelPrintBacktrace

Version NID
0.931-2.06 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);

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-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-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-2.120.011 not present
2.500.071-3.740.011 0x1BECC64C

sceKernelSuspendThreadForVM

Version NID
0.931-2.120.011 not present
2.500.071-3.740.011 0x38839DA2

sceKernelSetThreadContextForVM

Version NID
0.931-2.120.011 not present
2.500.071-3.740.011 0x92A0964D

sceKernelResumeThreadForVM

Version NID
0.931-2.120.011 not present
2.500.071-3.740.011 0x9A6D085B

sceKernelGetThreadContextForVM

Version NID
0.931-2.120.011 not present
2.500.071-3.740.011 0xAD210F16

sceKernelWaitExceptionCB

Version NID
0.931-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