Changes

Jump to navigation Jump to search

SceSysmem

536 bytes added, 7 November
! Version !! NID
|-
| 10.69990-3.60 || 0xA841EDDA
|}
<source lang="cC">/** * @brief Get mapped base address of memory block. * * Get base address of memory block. * @param[in] uid block id * @param[out] ppBase base address of memory block * @retval SCE_OK success * @retval <SCE_OK Error */int sceKernelGetMemBlockBaseForDriver(SceUID uid, void **basepppBase);</source>
=== sceKernelGetMemBlockVBaseForDriver ===
The SceSysmem library is responsible for both low-level and high-level memory management. There are functions for allocating raw blocks of memory (similar to Linux <code>sbrk</code>) as well as functions for maintaining a heap-like structure (similar to <code>malloc</code>) for kernel, however [[SceLibKernel]] implements a proper heap and that is used for user code.
=== sceKernelMapMemBlockForUser sceKernelMapMemBlock ===
{| class="wikitable"
|-
! Version !! NID
|-
| 0.990-1.69 || 0x3B29E0F5
|-
| 3.60 || not present
|-
! Version !! NID
|-
| 0.990 || not present
|-
| 1.69 || 0xC0A59868
|}
=== sceKernelUnmapMemBlockForUser sceKernelUnmapMemBlock ===
{| class="wikitable"
|-
|}
<source lang="C">int sceKernelUnmapMemBlockForUsersceKernelUnmapMemBlock(SceUID uid);</source>
=== sceKernelPartialUnmapMemBlock ===
</source>
=== sceKernelGetMemBlockInfoByAddrForUser sceKernelGetMemBlockInfoByAddr ===
{| class="wikitable"
|-
* @param[inout] pInfo Information structure
*/
int sceKernelGetMemBlockInfoByAddrForUsersceKernelGetMemBlockInfoByAddr(void *vbase, SceKernelMemBlockInfo *pInfo);
</source>
<source lang="c">SceUID sceKernelOpenMemBlock(const char *name, int flags);</source>
=== sceKernelFindMemBlockByAddrForUser sceKernelFindMemBlockByAddr ===
{| class="wikitable"
|-
|}
<source lang="cC">
/**
* @brief Get mapped base address of memory block.
</source>
=== sceKernelAllocMemBlockForUser sceKernelAllocMemBlock ===
{| class="wikitable"
|-
* @retval <SCE_OK Error code
*/
SceUID sceKernelAllocMemBlockForUsersceKernelAllocMemBlock(const char *name, SceKernelMemBlockType type, SceSize vsize, const struct SceKernelAllocMemBlockOpt *pOpt);
</source>
| 0.940-1.80 || 0xE1DEDFF4
|}
 
<source lang="C">
/**
* @brief Get mapped base address of memory block.
*
* Get base address of memory block.
* @param[in] uid block id
* @param[out] ppBase base address of memory block
* @retval SCE_OK success
* @retval <SCE_OK Error
*/
int sceKernelGetMemBlockBaseForTZS(SceUID uid, void **ppBase);
</source>
=== sceKernelFreeMemBlockForTZS ===
3,214

edits

Navigation menu