![]() |
vitasdk
Documentation of the vitasdk
|
Exports for Kernel. More...
Data Structures | |
| struct | SceKernelMemBlockInfo |
| struct | SceKernelAllocMemBlockKernelOpt |
| struct | SceKernelHeapMemoryOpt |
| Options and mapping results for heap allocation. More... | |
| struct | SceKernelAllocMemBlockInfo |
| struct | SceKernelMemBlockInfoCore |
| struct | SceKernelMemBlockInfoEx |
| struct | SceKernelProcessContext |
| struct | SceKernelHeapCreateOpt |
| struct | SceAllocOpt |
| struct | SceClass |
| struct | SceObjectBase |
| struct | SceGUIDKernelCreateOpt |
| union | SceKernelHeapCreateOpt.__unnamed55__ |
| union | SceObjectBase.__unnamed57__ |
| struct | SceObjectBase.__unnamed57__.__unnamed59__ |
| union | SceGUIDKernelCreateOpt.__unnamed61__ |
Typedefs | |
| typedef SceUInt32 | SceKernelMemBlockType |
| typedef SceKernelAllocMemBlockKernelOpt | SceKernelAllocMemBlockOptKernel |
| typedef struct SceUIDPhyMemPartObject | SceUIDPhyMemPartObject |
| Opaque class-specific data for a physical-memory-partition UID object. | |
| typedef struct SceKernelObject | SceKernelObject |
| Opaque class-specific data returned by the GUID and PUID object APIs. | |
| typedef int(* | SceClassCallback) (void *item) |
| typedef SceGUIDKernelCreateOpt | SceCreateUidObjOpt |
Functions | |
| VITASDK_BUILD_ASSERT_EQ (4, SceKernelMemBlockType) | |
| VITASDK_BUILD_ASSERT_EQ (0x18, SceKernelMemBlockInfo) | |
| VITASDK_BUILD_ASSERT_EQ (0x58, SceKernelAllocMemBlockKernelOpt) | |
| SceUID | ksceKernelAllocMemBlock (const char *name, SceKernelMemBlockType type, SceSize size, SceKernelAllocMemBlockKernelOpt *opt) |
| Allocates a new memory block. | |
| int | ksceKernelFreeMemBlock (SceUID uid) |
| Frees new memory block. | |
| int | ksceKernelGetMemBlockBase (SceUID uid, void **base) |
| Gets the base address of a memory block. | |
| int | ksceKernelGetMemBlockType (SceUID uid, unsigned int *type) |
| Gets the memory block type of a memory block. | |
| SceUID | ksceKernelFindMemBlockByAddr (const void *addr, SceSize size) |
| Find the SceUID of a memory block. | |
| SceUID | ksceKernelFindProcMemBlockByAddr (SceUID pid, const void *addr, SceSize size) |
| Find the SceUID of a memory block in a process. | |
| int | ksceKernelGetMemBlockAllocMapSize (SceUID memid, SceSize *alloc_map_size) |
| Get the AllocMapSize of a MemBlock. | |
| int | ksceKernelMapMemBlock (SceUID uid) |
| Map a memblock. | |
| int | ksceKernelMapMemBlockWithFlag (SceUID uid, int flag) |
| Map a memblock. | |
| int | ksceKernelRemapMemBlock (SceUID uid, SceKernelMemBlockType type) |
| Changes the block type. | |
| int | ksceKernelUnmapMemBlock (SceUID uid) |
| Unmap a memblock. | |
| SceUID | ksceKernelUserMap (const char *name, int permission, const void *user_buf, SceSize size, void **kernel_page, SceSize *kernel_size, SceUInt32 *kernel_offset) |
| The mapping user address space to kernel. | |
| SceUID | ksceKernelProcUserMap (SceUID pid, const char *name, int permission, const void *user_buf, SceSize size, void **kernel_page, SceSize *kernel_size, SceUInt32 *kernel_offset) |
| The mapping user address space to kernel with process. | |
| SceUID | ksceKernelUserMapWithFlags (const char *name, int permission, int flags, const void *user_buf, SceSize size, void **kernel_page, SceSize *kernel_size, unsigned int *kernel_offset) |
| The mapping user address space to kernel with flags. | |
| int | ksceKernelUserUnmap (SceUID uid) |
| Frees a memblock mapped with ksceKernelUserMap. | |
| int | ksceKernelLockRange (void *addr, SceSize size) |
| Locks a memory range. | |
| int | ksceKernelLockRangeProc (ScePID pid, void *addr, SceSize size) |
| Locks a memory range for a process (pid) | |
| int | ksceKernelLockRangeWithMode (SceKernelMemoryRefPerm perm, void *addr, SceSize size) |
| Locks a memory range, checking for a given permission. | |
| int | ksceKernelUnlockRange (void *addr, SceSize size) |
| Unlocks a memory range. | |
| int | ksceKernelUnlockRangeProc (ScePID pid, void *addr, SceSize size) |
| Unlocks a memory range for a process (pid) | |
| int | ksceKernelUnlockRangeWithMode (SceKernelMemoryRefPerm perm, void *addr, SceSize size) |
| Unlocks a memory range checking for a given permission. | |
| SceUID | ksceKernelAllocPartitionMemBlock (SceUID part, const char *name, SceKernelMemBlockType type, SceSize size, const SceKernelAllocMemBlockOptKernel *pOpt) |
| int | ksceKernelFreeSimpleMemBlock (void *a1) |
| VITASDK_BUILD_ASSERT_EQ (0x14, SceKernelHeapMemoryOpt) | |
| VITASDK_BUILD_ASSERT_EQ (0x14, SceKernelAllocMemBlockInfo) | |
| VITASDK_BUILD_ASSERT_EQ (0x2C, SceKernelMemBlockInfoCore) | |
| VITASDK_BUILD_ASSERT_EQ (0xB8, SceKernelMemBlockInfoEx) | |
| SceUID | ksceGUIDCreate (SceClass *object_class, const char *name, SceUID reference_guid, SceKernelObject **object) |
Creates a global UID object, optionally relative to reference_guid. | |
| int | ksceGUIDGetClass (SceUID guid, SceClass **object_class) |
| Gets the class of a global UID object. | |
| int | ksceGUIDGetName (SceUID guid, const char **name) |
| Gets the read-only name owned by a live global UID. | |
| int | ksceGUIDGetObject (SceUID guid, SceKernelObject **object) |
| Gets the class-specific object data for a global UID without taking a reference. | |
| SceUID | ksceGUIDKernelCreate (SceClass *object_class, const char *name, SceKernelObject **object) |
| Creates a kernel-owned global UID object with the default attributes. | |
| const char * | ksceGUIDName (SceUID guid) |
| Returns the read-only name of a live global UID. | |
| SceUID | ksceGUIDOpenByName (const char *name) |
| Opens a named global UID object. | |
| int | ksceGUIDReferObjectWithLevel (SceUID guid, SceUInt32 visibility_level, SceKernelObject **object) |
| Takes a reference to a global UID at visibility level 0 through 7. | |
| int | ksceGUIDReferObjectWithSubclass (SceUID guid, SceClass *object_class, SceKernelObject **object) |
Takes a reference to a global UID object when its class derives from object_class. | |
| int | ksceGUIDSetName (SceUID guid, const char *name) |
| Replaces the name of a global UID object. | |
| void * | ksceKernelAllocHeapMemoryWithOpt (SceUID heap_id, SceSize size, SceKernelHeapMemoryOpt *opt) |
Allocates from the heap identified by heap_id. | |
| SceUID | ksceKernelAllocMemBlockWithInfo (const char *name, SceKernelMemBlockType type, SceSize vsize, const SceKernelAllocMemBlockOptKernel *opt, SceKernelAllocMemBlockInfo *info) |
| Allocates a memory block and returns its mapping information. | |
| void * | ksceKernelAllocUncacheHeapMemory (SceSize size) |
| void * | ksceKernelAllocUncacheHeapMemoryWithOption (SceSize size, SceKernelHeapMemoryOpt *opt) |
| int | ksceKernelCountFillValue64FromUser (const SceUInt64 *ptr, SceUInt64 value, SceSize byte_size) |
| Counts the bytes at the start of a user-memory range in the calling process that match a repeated 64-bit value. | |
| int | ksceKernelCountFillValue64FromUserProc (ScePID pid, const SceUInt64 *ptr, SceUInt64 value, SceSize byte_size) |
| Counts the bytes at the start of another process's user-memory range that match a repeated 64-bit value. | |
| int | ksceKernelCountFillValueFromUser (const SceUInt32 *ptr, SceUInt32 value, SceSize byte_size) |
| Counts the bytes at the start of a user-memory range in the calling process that match a repeated 32-bit value. | |
| int | ksceKernelCountFillValueFromUserProc (ScePID pid, const SceUInt32 *ptr, SceUInt32 value, SceSize byte_size) |
| Counts the bytes at the start of another process's user-memory range that match a repeated 32-bit value. | |
| int | ksceKernelDecRefCountMemBlock (SceUID uid) |
| Decrements a memblock's internal range/reference counter. | |
| int | ksceKernelFreeUncacheHeapMemory (void *ptr) |
| int | ksceKernelGetMemBlockInfo (SceUID uid, SceUInt32 visibility_level, SceKernelMemBlockInfoEx *info) |
| Gets extended memblock information at visibility level 0 through 7. | |
| int | ksceKernelGetMemBlockMappedBase (SceUID uid, void **base) |
| Gets the currently mapped base of a memblock. | |
| int | ksceKernelGetMemBlockMemtypeByAddr (const void *addr) |
| Gets the internal memory type for an address. | |
| int | ksceKernelGetMemBlockPARange (SceUID uid, SceKernelPARange *pa_range) |
| Gets the single physical range backing a memblock. | |
| int | ksceKernelGetMemBlockPAVector (SceUID uid, SceKernelPAVector *pa_vector) |
| Gets the physical-range vector backing a memblock. | |
| int | ksceKernelGetMemBlockVBase (SceUID uid, void **base) |
| Gets the virtual base reserved for a memblock. | |
| int | ksceKernelGetPhysicalMemoryType (const void *vaddr) |
| Classifies the physical region containing a virtual address. | |
| int | ksceKernelIncRefCountMemBlock (SceUID uid) |
| Increments a memblock's internal range/reference counter. | |
| int | ksceKernelIsAccessibleRange (SceUInt32 permission, const void *va, SceSize len) |
permission is a bitwise OR of SceKernelMemoryRefPerm values. | |
| int | ksceKernelIsAccessibleRangeProc (ScePID pid, SceUInt32 permission, const void *va, SceSize len) |
permission is a bitwise OR of SceKernelMemoryRefPerm values. | |
| int | ksceKernelIsEqualAccessibleRangeProcBySW (ScePID pid, SceUInt32 permission, const void *va, SceSize len) |
| Checks whether a range has exactly the requested software permissions. | |
| int | ksceKernelMemBlockGetInfoEx (SceUID uid, SceKernelMemBlockInfoEx *info) |
| Gets extended memblock information at visibility level 7. | |
| int | ksceKernelMemBlockType2Memtype (SceKernelMemBlockType type) |
| Gets the internal memory-type class associated with a memblock type. | |
| int | ksceKernelMemBlockTypeGetPrivileges (SceKernelMemBlockType type) |
| Gets the memory permissions associated with a memblock type. | |
| int | ksceKernelProcModeVAtoPA (ScePID pid, SceUInt32 permission, const void *va, void **pa) |
| Translates an address in another process after applying an MMU access mode. | |
| int | ksceKernelVARangeToPARangeByHW (const SceKernelVARange *v_range, SceKernelPARange *pa_range) |
| int | ksceKernelVARangeToPARangeBySW (const SceKernelVARange *v_range, SceKernelPARange *pa_range) |
| int | ksceKernelVARangeToPAVectorByHW (const SceKernelVARange *v_range, SceKernelPAVector *pa_vector) |
| int | ksceKernelVARangeToPAVectorBySW (const SceKernelVARange *v_range, SceKernelPAVector *pa_vector) |
| int | ksceKernelVAtoPABySW (const void *va, void **pa) |
| int | kscePUIDGetClass (ScePID pid, SceUID puid, SceClass **object_class) |
| Gets the class of an object in a process-local UID namespace. | |
| int | kscePUIDGetName (ScePID pid, SceUID puid, const char **name) |
| Gets the read-only name owned by a process-local UID entry. | |
| int | kscePUIDGetObject (ScePID pid, SceUID puid, SceKernelObject **object) |
| Gets the class-specific object data for a process-local UID without taking a reference. | |
| SceUID | kscePUIDOpenByGUIDWithFlags (ScePID pid, SceUID guid, SceUInt32 flags) |
| Opens a global UID in a process-local UID namespace. | |
| SceUID | kscePUIDOpenByName (ScePID pid, const char *name) |
| Opens a named object in a process-local UID namespace. | |
| SceUID | kscePUIDOpenByNameWithClass (ScePID pid, const char *name, SceClass *object_class) |
| Opens a named object of the required class in a process-local UID namespace. | |
| int | kscePUIDSetName (ScePID pid, SceUID puid, const char *name) |
| Replaces the name of a process-local UID entry. | |
| SceUID | kscePUIDtoGUIDWithClass (ScePID pid, SceUID puid, SceClass *object_class) |
Resolves a process-local UID to its global UID, requiring object_class. | |
| int | ksceKernelVAtoPA (const void *va, uintptr_t *pa) |
| Get the physical address of a given virtual address. | |
| int | ksceKernelVARangeToPARange (const SceKernelVARange *va_range, SceKernelPARange *pa_range) |
| Get the physical address range of a given virtual address range. | |
| int | ksceKernelVARangeToPAVector (const SceKernelVARange *va_range, SceKernelPAVector *pa_vector) |
| Get the physical address list of a given virtual address range. | |
| VITASDK_BUILD_ASSERT_EQ (0xC, SceKernelProcessContext) | |
| int | ksceKernelProcessGetContext (SceUID pid, SceKernelProcessContext **ctx) |
| Get the process context. | |
| int | ksceKernelProcessSwitchContext (const SceKernelProcessContext *new_context, SceKernelProcessContext *prev_context) |
| Switch the process context. | |
| int | ksceKernelAddressSpaceFreeAllMemBlock (SceUID guid) |
| int | ksceKernelAddressSpaceSetPhyMemPart (SceUID guid, SceUInt32 index, void *pPhyMemPart) |
| int | ksceKernelAddressSpaceUnmap (SceUID uid, int a2, int a3, void *addr, SceSize size) |
| int | ksceKernelAddressSpaceVAtoPA (void *pAS, SceUInt32 mode, void *pVA, void **pPA) |
| SceUID | ksceKernelCreateAddressSpace (SceUID pid, const char *name, SceUInt32 type, void *pOpt) |
| int | ksceKernelDeleteAddressSpace (SceUID guid) |
| int | ksceKernelCopyFromUser (void *dst, const void *src, SceSize len) |
| Memcpy from user memory. | |
| int | ksceKernelCopyFromUserProc (SceUID pid, void *dst, const void *src, SceSize len) |
| Memcpy from user memory with process. | |
| int | ksceKernelCopyToUser (void *dst, const void *src, SceSize len) |
| Memcpy to user memory. | |
| int | ksceKernelCopyToUserProc (SceUID pid, void *dst, const void *src, SceSize len) |
| Memcpy from user memory with process. | |
| int | ksceKernelCopyToUserDomain (void *dst, const void *src, SceSize len) |
| Memcpy to user RO memory. | |
| int | ksceKernelCopyToUserTextDomain (void *dst, const void *src, SceSize len) |
| Memcpy to user RO memory with DcacheAndL2WritebackRange. | |
| int | ksceKernelCopyToUserProcTextDomain (SceUID pid, void *dst, const void *src, SceSize len) |
| Memcpy to user RX memory with process. | |
| SceSSize | ksceKernelStrncpyFromUser (char *dst, const char *src, SceSize len) |
| Strncpy from user memory. | |
| SceSSize | ksceKernelStrncpyFromUserProc (SceUID pid, char *dst, const char *src, SceSize len) |
| Strncpy from user memory with process. | |
| SceSSize | ksceKernelStrncpyToUser (char *dst, const char *src, SceSize len) |
| Strncpy to user memory. | |
| SceSSize | ksceKernelStrncpyToUserProc (SceUID pid, char *dst, const char *src, SceSize len) |
| Strncpy to user memory with process. | |
| SceSize | ksceKernelStrnlenFromUser (const char *s, SceSize n) |
| Strnlen user memory. | |
| SceSSize | ksceKernelStrnlenFromUserProc (SceUID pid, const char *s, SceSize n) |
| Strnlen user memory with process. | |
| int | ksceKernelCopyFromToUser (void *dst, const void *src, SceSize len) |
| Memcpy user memory to user memory. | |
| int | ksceKernelCopyFromToUserProc (SceUID pid, void *dst, const void *src, SceSize len) |
| Memcpy user memory to user memory with process. | |
| int | ksceKernelGetFixedHeapInfoByPointer (void *pFixedHeap, void *pInfo) |
| VITASDK_BUILD_ASSERT_EQ (0x1C, SceKernelHeapCreateOpt) | |
| VITASDK_BUILD_ASSERT_EQ (0x14, SceAllocOpt) | |
| SceUID | ksceKernelCreateHeap (const char *name, SceSize size, SceKernelHeapCreateOpt *opt) |
| Create heap area. | |
| int | ksceKernelDeleteHeap (SceUID uid) |
| Delete heap area. | |
| void * | ksceKernelAllocHeapMemory (SceUID uid, SceSize size) |
| Allocate the specified length of memory from heap. | |
| void * | ksceKernelAllocHeapMemoryWithOption (SceUID heapid, SceSize len, SceAllocOpt *opt) |
| Allocate the specified length of memory from heap with option. | |
| void * | ksceKernelReallocHeapMemory (SceUID heapid, void *ptr, SceSize len) |
| Reallocate the specified pointer to the new length. | |
| int | ksceKernelFreeHeapMemory (SceUID uid, void *ptr) |
| Free allocated memory. | |
| void * | ksceKernelAlloc (unsigned int size) |
| Alloc kernel memory. | |
| int | ksceKernelFree (void *ptr) |
| Free kernel memory. | |
| int | ksceKernelGetHeapInfo (SceUID heapid, SceUInt32 level, void *pInfo) |
| int | ksceKernelGetHeapInfoByPtr (void *pObject, void *pInfo) |
| int | ksceKernelNameHeapGetInfo (void *pInfo) |
| VITASDK_BUILD_ASSERT_EQ (0x2C, SceClass) | |
| VITASDK_BUILD_ASSERT_EQ (8, SceObjectBase) | |
| SceClass * | ksceKernelGetUIDClass (void) |
| SceClass * | ksceKernelGetUIDDLinkClass (void) |
| SceClass * | ksceKernelGetUIDHeapClass (void) |
| SceClass * | ksceKernelGetUIDMemBlockClass (void) |
| int | ksceUIDClassInitClass (SceClass *cls, const char *name, void *uidclass, SceSize itemsize, SceClassCallback create, SceClassCallback destroy) |
| int | ksceKernelFindClassByName (const char *name, SceClass **cls) |
| SceInt32 | ksceKernelUIDEntryHeapGetInfo (SceUID entryHeapId, void *pInfo) |
| VITASDK_BUILD_ASSERT_EQ (0x20, SceGUIDKernelCreateOpt) | |
| SceUID | ksceGUIDKernelCreateWithOpt (SceClass *sce_class, const char *name, SceGUIDKernelCreateOpt *opt, SceObjectBase **obj) |
| int | ksceGUIDClose (SceUID guid) |
| int | ksceGUIDReferObject (SceUID guid, SceObjectBase **object) |
| Gets an object from a UID. | |
| int | ksceGUIDReferObjectWithClass (SceUID guid, SceClass *sce_class, SceObjectBase **object) |
| Gets an object from a UID with class. | |
| int | ksceGUIDReferObjectWithClassLevel (SceUID guid, SceClass *pClass, SceUInt32 level, SceObjectBase **entry) |
| Gets an object from a UID with class and level. | |
| int | ksceGUIDReleaseObject (SceUID guid) |
| Releases an object referenced by the UID. | |
| int | ksceGUIDGetUIDVectorByClass (SceClass *cls, int vis_level, SceUID *vector, SceSize num, SceSize *ret_num) |
| Get created GUID vectors. | |
| int | ksceGUIDGetObjectWithClass (SceUID uid, SceClass *pClass, SceObjectBase **obj) |
| int | ksceGUIDKernelCreateWithAttr (SceClass *pClass, const char *name, SceUInt32 attr, SceObjectBase **ppEntry) |
| SceUID | ksceGUIDOpenByGUID (SceUID guid) |
| SceUID | kscePUIDOpenByGUID (SceUID pid, SceUID guid) |
| int | kscePUIDClose (SceUID pid, SceUID puid) |
| SceUID | kscePUIDtoGUID (SceUID pid, SceUID puid) |
Exports for Kernel.
Include the header file in your project:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
Include the header file in your project:
Link the library to the executable:
| struct SceKernelMemBlockInfo |
| Data Fields | ||
|---|---|---|
| SceSize | size | |
| void * | mappedBase | |
| SceSize | mappedSize | |
| int | memoryType | |
| SceUInt32 | access | |
| SceKernelMemBlockType | type | |
| struct SceKernelAllocMemBlockKernelOpt |
| Data Fields | ||
|---|---|---|
| SceSize | size | Size of this structure. |
| SceUInt32 | field_4 | |
| SceUInt32 | attr | Bitwise OR of SceKernelAllocMemBlockAttr values. |
| SceUInt32 | field_C | |
| SceUInt32 | paddr | |
| SceSize | alignment | |
| SceSize | extraLow | |
| SceSize | extraHigh | |
| SceUInt32 | mirror_blockid | |
| SceUID | pid | |
| SceKernelPaddrList * | paddr_list | |
| SceUInt32 | field_2C | |
| SceUInt32 | field_30 | |
| SceUInt32 | field_34 | |
| SceUInt32 | field_38 | |
| SceUInt32 | field_3C | |
| SceUInt32 | field_40 | |
| SceUInt32 | field_44 | |
| SceUInt32 | field_48 | |
| SceUInt32 | field_4C | |
| SceUInt32 | field_50 | |
| SceUInt32 | field_54 | |
| struct SceKernelHeapMemoryOpt |
Options and mapping results for heap allocation.
Set alignment to request an allocation alignment. The allocator writes mapping_action, mapped_base, and mapped_size to describe any backing memory range it mapped or unmapped during the allocation.
| Data Fields | ||
|---|---|---|
| SceSize | size |
Must be set to sizeof(SceKernelHeapMemoryOpt). |
| SceUInt32 | mapping_action | One of SceKernelHeapMemoryMappingAction. |
| SceSize | alignment | Requested allocation alignment, or zero for the heap default. |
| void * | mapped_base | Base of the mapped or unmapped backing range. |
| SceSize | mapped_size | Size of the mapped or unmapped backing range. |
| struct SceKernelAllocMemBlockInfo |
| Data Fields | ||
|---|---|---|
| SceSize | size |
Must be set to sizeof(SceKernelAllocMemBlockInfo). |
| void * | mapped_base | Mapped base address. |
| SceSize | mapped_size | Mapped size. |
| SceKernelMemoryType | memory_type | Memory type derived from the selected memblock type. |
| SceUInt32 | access | Bitwise OR of SceKernelMemoryAccessType values. |
| struct SceKernelMemBlockInfoCore |
| Data Fields | ||
|---|---|---|
| SceKernelMemBlockType | type | Memblock type. |
| SceUID | guid | Global memblock UID, or zero when it is hidden at the requested visibility level. |
| const char * | name | Read-only memblock name. |
| void * | mapped_base | Virtual mapping base. |
| SceSize | mapped_size | Requested mapping size. |
| SceSize | alloc_map_size | Size of the mapping actually allocated. |
| SceSize | extra_low | Low-end mapping padding. |
| SceSize | extra_high | High-end mapping padding. |
| SceUInt32 | paging_type | Internal paging type; observed values include 4 and 8. |
| SceUID | partition_guid | Physical-memory partition UID, or -1 when unavailable. |
| SceUIDPhyMemPartObject * | phy_mem_part | Physical-memory partition object. |
| struct SceKernelMemBlockInfoEx |
| Data Fields | ||
|---|---|---|
| SceSize | size |
Must be set to sizeof(SceKernelMemBlockInfoEx). |
| SceKernelMemBlockInfoCore | core_info | |
| SceSize | physical_range_count | Total number of physical ranges. |
| SceSize | physical_range_count_written | Number of entries written to the arrays below, at most 16. |
| void * | physical_addresses[16] | Physical base of each reported range. |
| SceSize | physical_sizes[16] | Size of each reported range. |
| struct SceKernelHeapCreateOpt |
| struct SceClass |
| Data Fields | ||
|---|---|---|
| struct SceClass * | next | |
| struct SceClass * | root | Root UID meta-class returned by ksceKernelGetUIDClass. |
| struct SceClass * | prev | |
| const char * | name | |
| struct SceClass * | uidclass | Parent UID class. |
| unsigned int | attributes | The low byte is the class identifier assigned during registration. |
| unsigned short | itemsize | |
| unsigned short | itemsize_aligned | |
| unsigned int | unk1C | |
| SceClassCallback | create_cb | Constructor callback. |
| SceClassCallback | destroy_cb | Destructor callback. |
| unsigned int | magic | Must be set to 0xABCE9DA5. |
| struct SceObjectBase |
| Data Fields | ||
|---|---|---|
| union SceObjectBase.__unnamed57__ | __unnamed__ | |
| uint32_t | data[] | |
| struct SceGUIDKernelCreateOpt |
| union SceKernelHeapCreateOpt.__unnamed55__ |
| union SceObjectBase.__unnamed57__ |
| Data Fields | ||
|---|---|---|
| uint32_t | sce_reserved[2] | |
| struct SceObjectBase.__unnamed57__.__unnamed59__ | __unnamed__ | |
| struct SceObjectBase.__unnamed57__.__unnamed59__ |
| Data Fields | ||
|---|---|---|
| void * | object | |
| SceClass * | sce_class | |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_L1WBWA_RW (0x09404060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_R (0x09408040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDRAM_RW (0x09408060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_DEVICE_RW (0x0C200860) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_R (0x0C20D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_RW (0x0C20D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_NC_RW (0x0C208060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_GAME_RW (0x0C50D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_RW (0x0C80D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_NC_RW (0x0D808060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_CDIALOG_RW (0x0CA0D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_CDIALOG_NC_RW (0x0CA08060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_TOOL_RW (0x0CF0D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_TOOL_NC_RW (0x0CF08060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDIALOG_R (0x0E20D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDIALOG_RW (0x0E20D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDIALOG_NC_R (0x0E208040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDIALOG_NC_RW (0x0E208060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_RW_UNCACHE (0x0C208060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_RW (0x0C20D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_TOOL_NC_RW (0x0CF08060) |
| #define ksceKernelFindMemBlockByAddrForPid | ( | pid, | |
| addr, | |||
| size | |||
| ) | ksceKernelFindProcMemBlockByAddr(pid, addr, size) |
| #define ksceKernelMapBlockUserVisible | ( | uid | ) | ksceKernelMapMemBlock(uid) |
| #define ksceKernelRemapBlock | ( | uid, | |
| type | |||
| ) | ksceKernelRemapMemBlock(uid, type) |
| #define ksceKernelMapUserBlock | ( | name, | |
| permission, | |||
| flags, | |||
| user_buf, | |||
| size, | |||
| kernel_page, | |||
| kernel_size, | |||
| kernel_offset | |||
| ) | ksceKernelUserMapWithFlags(name, permission, flags, user_buf, size, kernel_page, kernel_size, kernel_offset) |
| #define ksceKernelMapUserBlockDefaultType | ( | name, | |
| permission, | |||
| user_buf, | |||
| size, | |||
| kernel_page, | |||
| kernel_size, | |||
| kernel_offset | |||
| ) | ksceKernelUserMap(name, permission, user_buf, size, kernel_page, kernel_size, kernel_offset) |
| #define ksceKernelMapUserBlockDefaultTypeForPid | ( | pid, | |
| name, | |||
| permission, | |||
| user_buf, | |||
| size, | |||
| kernel_page, | |||
| kernel_size, | |||
| kernel_offset | |||
| ) | ksceKernelProcUserMap(pid, name, permission, user_buf, size, kernel_page, kernel_size, kernel_offset) |
| #define ksceKernelMemBlockRelease | ( | uid | ) | ksceKernelUserUnmap(uid) |
| #define ksceKernelMemRangeRetain | ( | addr, | |
| size | |||
| ) | ksceKernelLockRange(addr, size) |
| #define ksceKernelMemRangeRetainForPid | ( | pid, | |
| addr, | |||
| size | |||
| ) | ksceKernelLockRangeProc(pid, addr, size) |
| #define ksceKernelMemRangeRetainWithPerm | ( | perm, | |
| addr, | |||
| size | |||
| ) | ksceKernelLockRangeWithMode(perm, addr, size) |
| #define ksceKernelMemRangeRelease | ( | addr, | |
| size | |||
| ) | ksceKernelUnlockRange(addr, size) |
| #define ksceKernelMemRangeReleaseForPid | ( | pid, | |
| addr, | |||
| size | |||
| ) | ksceKernelUnlockRangeProc(pid, addr, size) |
| #define ksceKernelMemRangeReleaseWithPerm | ( | perm, | |
| addr, | |||
| size | |||
| ) | ksceKernelUnlockRangeWithMode(perm, addr, size) |
| #define ksceKernelGetPidContext ksceKernelProcessGetContext |
| #define ksceKernelSwitchPidContext ksceKernelProcessSwitchContext |
| #define ksceKernelGetPaddr | ( | va, | |
| pa | |||
| ) | ksceKernelVAtoPA(va, pa) |
| #define ksceKernelGetPaddrList | ( | input, | |
| list | |||
| ) | ksceKernelVARangeToPAVector((const SceKernelVARange *)input, list) |
| #define ksceKernelMemcpyUserToKernel | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyFromUser((__dst__), (__src__), (__len__)) |
| #define ksceKernelMemcpyUserToKernelForPid | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyFromUserProc((__pid__), (__dst__), (__src__), (__len__)) |
| #define ksceKernelMemcpyKernelToUser | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUser((__dst__), (__src__), (__len__)) |
| #define ksceKernelMemcpyToUserRo | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUserDomain((__dst__), (__src__), (__len__)) |
| #define ksceKernelMemcpyToUserRx | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUserTextDomain((__dst__), (__src__), (__len__)) |
| #define ksceKernelRxMemcpyKernelToUserForPid | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUserProcTextDomain((__pid__), (__dst__), (__src__), (__len__)) |
| #define ksceKernelMemcpyFromUser | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyFromUser(__dst__, __src__, __len__) |
| #define ksceKernelProcMemcpyFromUser | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyFromUserProc(__pid__, __dst__, __src__, __len__) |
| #define ksceKernelMemcpyToUser | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUser(__dst__, __src__, __len__) |
| #define ksceKernelProcMemcpyToUser | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUserProc(__pid__, __dst__, __src__, __len__) |
| #define ksceKernelUserMemcpy | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyFromToUser(__dst__, __src__, __len__) |
| #define ksceKernelProcUserMemcpy | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyFromToUserProc(__pid__, __dst__, __src__, __len__) |
| #define ksceKernelProcMemcpyToUserRx | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelCopyToUserProcTextDomain(__pid__, __dst__, __src__, __len__) |
| #define ksceKernelStrncpyUserToKernel | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelStrncpyFromUser((__dst__), (__src__), (__len__)) |
| #define ksceKernelStrncpyUserForPid | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelStrncpyFromUserProc((__pid__), (__dst__), (__src__), (__len__)) |
| #define ksceKernelStrncpyKernelToUser | ( | __dst__, | |
| __src__, | |||
| __len__ | |||
| ) | ksceKernelStrncpyToUser((__dst__), (__src__), (__len__)) |
| #define ksceKernelProcStrncpyFromUser | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelStrncpyFromUserProc((__pid__), (__dst__), (__src__), (__len__)) |
| #define ksceKernelProcStrncpyToUser | ( | __pid__, | |
| __dst__, | |||
| __src__, | |||
| __len__ | |||
| ) | ksceKernelStrncpyToUserProc((__pid__), (__dst__), (__src__), (__len__)) |
| #define ksceKernelStrnlenUser | ( | __s__, | |
| __n__ | |||
| ) | ksceKernelStrnlenFromUser(__s__, __n__) |
| #define ksceKernelProcStrnlenUser | ( | __pid__, | |
| __s__, | |||
| __n__ | |||
| ) | ksceKernelStrnlenFromUserProc(__pid__, __s__, __n__) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_MAIN_R (0x0320D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_MAIN_RX (0x0320D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_MAIN_RW (0x0320D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_SHARED_R (0x0390D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_SHARED_RX (0x0390D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_SHARED_RW (0x0390D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_CDIALOG_R (0x03A0D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_CDIALOG_RX (0x03A0D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_CDIALOG_RW (0x03A0D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_TOOL_R (0x03F0D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_TOOL_RX (0x03F0D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_SHARED_TOOL_RW (0x03F0D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_IO_SO_R (0x0B100240) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_IO_SO_RW (0x0B100260) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_IO_DEVICE_R (0x0B100840) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_IO_DEVICE_RW (0x0B100860) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_TOOL_R (0x08F0D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_TOOL_RX (0x08F0D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_TOOL_RW (0x08F0D060) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_TOOL_UNK_RW (0x08F0D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_RX (0x0C20D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_R (0x0C80D040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_PHYCONT_NC_R (0x0D808040) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_MAIN_TOOL_RX (0x0CF0D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_CDIALOG_RX (0x0E20D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_UNK_0720D006_RW (0x0720D006) /* SCE_KERNEL_ERROR_ILLEGAL_PARTITION_INDEX */ |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_SO_RW (0x10200206) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_DEVICE_RW (0x10200806) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_L1WBWA_RW (0x10204006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_NC_R (0x10208004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_NC_RW (0x10208006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_R (0x1020D004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_RX (0x1020D005) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_RW (0x1020D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_PHYCONT_R (0x1080D004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_PHYCONT_RW (0x1080D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_PHYCONT_NC_R (0x30808004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_PHYCONT_NC_RW (0x30808006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_GAME_RW (0x1050D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_CDIALOG_R (0x10A0D004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_CDIALOG_RW (0x10A0D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_UMAIN_NC_RW (0x10C08006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_ROOT_UMAIN_RW (0x10C0D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TOOL_R (0x10F0D004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TOOL_RX (0x10F0D005) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TOOL_RW (0x10F0D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TOOL_NC_R (0x10F08004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TOOL_NC_RW (0x10F08006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_FS_GAME_R (0x1220D004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_FS_GAME_RW (0x1220D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_FS_GAME_NC_R (0x13208004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_FS_GAME_NC_RW (0x13208006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_IO_SO_R (0x20100204) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_IO_SO_RW (0x20100206) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_IO_R (0x20100804) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_IO_RW (0x20100806) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_IO_NC_R (0x20108004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_IO_NC_RW (0x20108006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_CDRAM_L1WBWA_RW (0x40404006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_CDRAM_RW (0x40408006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_NC_R (0x60208004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_NC_RW (0x60208006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_R (0x6020D004) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_RW (0x6020D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_TMP_GAME_RW (0x6050D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_KMP_GAME_RW (0xC050D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_KMP_TOOL_RW (0xC0F0D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_UNK_11208006_NC_RW (0x11208006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_UNK_60208014_NC_R (0x60208014) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_UNK_60208016_NC_RW (0x60208016) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_SHARED_RX (0x0390D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_USER_RX (0x0C20D050) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_RX (0x1020D005) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_RW (0x1020D006) |
| #define SCE_KERNEL_MEMBLOCK_TYPE_RW_UNK0 (0x6020D006) |
| #define ksceKernelCreateClass | ( | cls, | |
| name, | |||
| uidclass, | |||
| itemsize, | |||
| create, | |||
| destroy | |||
| ) | ksceUIDClassInitClass(cls, name, uidclass, itemsize, create, destroy) |
| #define ksceKernelGetUidClass | ( | ) | ksceKernelGetUIDClass() |
| #define ksceKernelGetUidDLinkClass | ( | ) | ksceKernelGetUIDDLinkClass() |
| #define ksceKernelGetUidHeapClass | ( | ) | ksceKernelGetUIDHeapClass() |
| #define ksceKernelGetUidMemBlockClass | ( | ) | ksceKernelGetUIDMemBlockClass() |
| #define ksceKernelCreateUidObj | ( | sce_class, | |
| name, | |||
| opt, | |||
| obj | |||
| ) | ksceGUIDKernelCreateWithOpt(sce_class, name, opt, obj) |
| #define ksceKernelDeleteUid | ( | guid | ) | ksceGUIDClose(guid) |
| #define ksceKernelGetObjForUid | ( | guid, | |
| sce_class, | |||
| object | |||
| ) | ksceGUIDReferObjectWithClass(guid, sce_class, object) |
| #define ksceKernelUidRelease | ( | guid | ) | ksceGUIDReleaseObject(guid) |
| #define ksceKernelKernelUidForUserUid | ( | pid, | |
| puid | |||
| ) | kscePUIDtoGUID(pid, puid) |
| #define ksceKernelCreateUserUid | ( | pid, | |
| guid | |||
| ) | kscePUIDOpenByGUID(pid, guid) |
| #define ksceKernelDeleteUserUid | ( | pid, | |
| puid | |||
| ) | kscePUIDClose(pid, puid) |
| typedef SceUInt32 SceKernelMemBlockType |
| typedef struct SceUIDPhyMemPartObject SceUIDPhyMemPartObject |
Opaque class-specific data for a physical-memory-partition UID object.
| typedef struct SceKernelObject SceKernelObject |
Opaque class-specific data returned by the GUID and PUID object APIs.
| typedef int(* SceClassCallback) (void *item) |
| enum SceKernelMemoryType |
| enum SceKernelModel |
| enum SceKernelHeapAttr |
| VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
| SceKernelMemBlockType | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x18 | , |
| SceKernelMemBlockInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x58 | , |
| SceKernelAllocMemBlockKernelOpt | |||
| ) |
| SceUID ksceKernelAllocMemBlock | ( | const char * | name, |
| SceKernelMemBlockType | type, | ||
| SceSize | size, | ||
| SceKernelAllocMemBlockKernelOpt * | opt | ||
| ) |
Allocates a new memory block.
| [in] | name | - Name for the memory block |
| [in] | type | - Type of the memory to allocate. Use SCE_KERNEL_MEMBLOCK_TYPE_USER_* or SCE_KERNEL_MEMBLOCK_TYPE_KERNEL_*. |
| [in] | size | - Size of the memory to allocate |
| [in] | opt | - Memory block options? |
| int ksceKernelFreeMemBlock | ( | SceUID | uid | ) |
Frees new memory block.
| [in] | uid | - SceUID of the memory block to free |
| int ksceKernelGetMemBlockBase | ( | SceUID | uid, |
| void ** | base | ||
| ) |
Gets the base address of a memory block.
| [in] | uid | - SceUID of the memory block |
| [out] | base | - Base address of the memory block identified by uid |
| int ksceKernelGetMemBlockType | ( | SceUID | uid, |
| unsigned int * | type | ||
| ) |
Gets the memory block type of a memory block.
| [in] | uid | - SceUID of the memory block |
| [out] | type | - Type of the memory block identified by uid |
Find the SceUID of a memory block.
| [in] | addr | - Base address of the memory block |
| [in] | size | - Size to search for (usally set to 0) |
Find the SceUID of a memory block in a process.
| [in] | pid | - PID of the process |
| [in] | addr | - Base address of the memory block |
| [in] | size | - Size to search for (usally set to 0) |
Get the AllocMapSize of a MemBlock.
| [in] | memid | - The target uid of the memblock |
| [out] | alloc_map_size | - The output for AllocMapSize |
| int ksceKernelMapMemBlock | ( | SceUID | uid | ) |
Map a memblock.
| [in] | uid | - GUID of the memblock to map. |
| int ksceKernelMapMemBlockWithFlag | ( | SceUID | uid, |
| int | flag | ||
| ) |
Map a memblock.
| [in] | uid | - GUID of the memblock to map. |
| [in] | flag | - Set to 1 to prevent DCache invalidation before mapping. |
| int ksceKernelRemapMemBlock | ( | SceUID | uid, |
| SceKernelMemBlockType | type | ||
| ) |
Changes the block type.
| [in] | uid | - SceUID of the memory block to change |
| [in] | type | - Type of the memory to change to |
| int ksceKernelUnmapMemBlock | ( | SceUID | uid | ) |
Unmap a memblock.
| [in] | uid | - GUID of the memblock to unmap. |
| SceUID ksceKernelUserMap | ( | const char * | name, |
| int | permission, | ||
| const void * | user_buf, | ||
| SceSize | size, | ||
| void ** | kernel_page, | ||
| SceSize * | kernel_size, | ||
| SceUInt32 * | kernel_offset | ||
| ) |
The mapping user address space to kernel.
| [in] | name | - The mapping name. |
| [in] | permission | - The access permission. 1 for Read, 2 or 3 for read/write. |
| [in] | user_buf | - The target address of user space. |
| [in] | size | - The mapping size. |
| [out] | kernel_page | - The mapped kernel address space. |
| [out] | kernel_size | - The mapped size. |
| [out] | kernel_offset | - The output of address align value. For example, if user_buf is 0x81000123, kernel_offset to 0x123. |
note - If no longer use the mapped address, need to release it with ksceKernelMemBlockRelease
| SceUID ksceKernelProcUserMap | ( | SceUID | pid, |
| const char * | name, | ||
| int | permission, | ||
| const void * | user_buf, | ||
| SceSize | size, | ||
| void ** | kernel_page, | ||
| SceSize * | kernel_size, | ||
| SceUInt32 * | kernel_offset | ||
| ) |
The mapping user address space to kernel with process.
| [in] | pid | - The target process id. |
| [in] | name | - The mapping name. |
| [in] | permission | - The access permission. 1 for Read, 2 or 3 for read/write. |
| [in] | user_buf | - The target address of user space. |
| [in] | size | - The mapping size. |
| [out] | kernel_page | - The mapped kernel address space. |
| [out] | kernel_size | - The mapped size. |
| [out] | kernel_offset | - The output of address align value. For example, if user_buf is 0x81000123, kernel_offset to 0x123. |
note - If no longer use the mapped address, need to release it with ksceKernelMemBlockRelease
| SceUID ksceKernelUserMapWithFlags | ( | const char * | name, |
| int | permission, | ||
| int | flags, | ||
| const void * | user_buf, | ||
| SceSize | size, | ||
| void ** | kernel_page, | ||
| SceSize * | kernel_size, | ||
| unsigned int * | kernel_offset | ||
| ) |
The mapping user address space to kernel with flags.
| [in] | name | - The mapping name. |
| [in] | permission | - The access permission. 1 for Read, 2 or 3 for read/write. |
| [in] | flags | - 0x11 to map into TmpFsGame instead of Tmp |
| [in] | user_buf | - The target address of user space. |
| [in] | size | - The mapping size. |
| [out] | kernel_page | - The mapped kernel address space. |
| [out] | kernel_size | - The mapped size. |
| [out] | kernel_offset | - The output of address align value. For example, if user_buf is 0x81000123, kernel_offset to 0x123. |
note - If no longer use the mapped address, need to release it with ksceKernelMemBlockRelease
| int ksceKernelUserUnmap | ( | SceUID | uid | ) |
Frees a memblock mapped with ksceKernelUserMap.
This decreases the internal reference count.
| [in] | uid | The uid of the memblock |
| int ksceKernelLockRange | ( | void * | addr, |
| SceSize | size | ||
| ) |
Locks a memory range.
This increases the internal reference count of the memblocks belonging to the range.
Note: It uses SCE_KERNEL_MEMORY_REF_PERM_ANY as the reference permission.
| [in] | addr | The start address |
| [in] | size | The memory range size |
Locks a memory range for a process (pid)
This increases the internal reference count of the memblocks belonging to the range.
Note: It uses SCE_KERNEL_MEMORY_REF_PERM_ANY as the reference permission.
| [in] | pid | The pid of the process |
| [in] | addr | The start address |
| [in] | size | The memory range size |
| int ksceKernelLockRangeWithMode | ( | SceKernelMemoryRefPerm | perm, |
| void * | addr, | ||
| SceSize | size | ||
| ) |
Locks a memory range, checking for a given permission.
This increases the internal reference count of the memblocks belonging to the range. If the memory blocks belonging to the range don't have the required memory access permission, it returns an error.
| [in] | perm | The required permission of the memory blocks belonging to the range |
| [in] | addr | The start address |
| [in] | size | The memory range size |
| int ksceKernelUnlockRange | ( | void * | addr, |
| SceSize | size | ||
| ) |
Unlocks a memory range.
This decreases the internal reference count of the memblocks belonging to the range.
Note: It uses SCE_KERNEL_MEMORY_REF_PERM_ANY as the reference permission.
| [in] | addr | The start address |
| [in] | size | The memory range size |
Unlocks a memory range for a process (pid)
This decreases the internal reference count of the memblocks belonging to the range.
Note: It uses SCE_KERNEL_MEMORY_REF_PERM_ANY as the reference permission.
| [in] | pid | The pid of the process |
| [in] | addr | The start address |
| [in] | size | The memory range size |
| int ksceKernelUnlockRangeWithMode | ( | SceKernelMemoryRefPerm | perm, |
| void * | addr, | ||
| SceSize | size | ||
| ) |
Unlocks a memory range checking for a given permission.
This decreases the internal reference count of the memblocks belonging to the range. If the memory blocks belonging to the range don't have the required memory access permission, it returns an error.
| [in] | perm | The required permission of the memory blocks belonging to the range |
| [in] | addr | The start address |
| [in] | size | The memory range size |
| SceUID ksceKernelAllocPartitionMemBlock | ( | SceUID | part, |
| const char * | name, | ||
| SceKernelMemBlockType | type, | ||
| SceSize | size, | ||
| const SceKernelAllocMemBlockOptKernel * | pOpt | ||
| ) |
| int ksceKernelFreeSimpleMemBlock | ( | void * | a1 | ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
| SceKernelHeapMemoryOpt | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
| SceKernelAllocMemBlockInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x2C | , |
| SceKernelMemBlockInfoCore | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0xB8 | , |
| SceKernelMemBlockInfoEx | |||
| ) |
| SceUID ksceGUIDCreate | ( | SceClass * | object_class, |
| const char * | name, | ||
| SceUID | reference_guid, | ||
| SceKernelObject ** | object | ||
| ) |
Creates a global UID object, optionally relative to reference_guid.
object receives the newly created class-specific object data. The memory is owned by the UID object and must not be freed by the caller.
Gets the class of a global UID object.
| int ksceGUIDGetName | ( | SceUID | guid, |
| const char ** | name | ||
| ) |
Gets the read-only name owned by a live global UID.
Sysmem owns the name. Renaming or destroying the UID can invalidate the pointer. On FW 3.60, a GUID with a valid format that no longer refers to a live UID does not reliably produce a lookup error. The caller must ensure that the UID remains alive.
| int ksceGUIDGetObject | ( | SceUID | guid, |
| SceKernelObject ** | object | ||
| ) |
Gets the class-specific object data for a global UID without taking a reference.
The caller must ensure that the UID remains alive.
| SceUID ksceGUIDKernelCreate | ( | SceClass * | object_class, |
| const char * | name, | ||
| SceKernelObject ** | object | ||
| ) |
Creates a kernel-owned global UID object with the default attributes.
| const char * ksceGUIDName | ( | SceUID | guid | ) |
Returns the read-only name of a live global UID.
FW 3.60 does not reliably report lookup failure for a GUID that no longer refers to a live UID. The caller must ensure that the UID remains alive.
| SceUID ksceGUIDOpenByName | ( | const char * | name | ) |
Opens a named global UID object.
| int ksceGUIDReferObjectWithLevel | ( | SceUID | guid, |
| SceUInt32 | visibility_level, | ||
| SceKernelObject ** | object | ||
| ) |
Takes a reference to a global UID at visibility level 0 through 7.
object may be NULL. When it is non-NULL, it receives the class-specific object data. Each successful call must be matched by one later call to ksceGUIDReleaseObject with guid.
| int ksceGUIDReferObjectWithSubclass | ( | SceUID | guid, |
| SceClass * | object_class, | ||
| SceKernelObject ** | object | ||
| ) |
Takes a reference to a global UID object when its class derives from object_class.
object may be NULL. When it is non-NULL, it receives the class-specific object data. Each successful call must be matched by one later call to ksceGUIDReleaseObject with guid.
| int ksceGUIDSetName | ( | SceUID | guid, |
| const char * | name | ||
| ) |
Replaces the name of a global UID object.
| void * ksceKernelAllocHeapMemoryWithOpt | ( | SceUID | heap_id, |
| SceSize | size, | ||
| SceKernelHeapMemoryOpt * | opt | ||
| ) |
Allocates from the heap identified by heap_id.
| SceUID ksceKernelAllocMemBlockWithInfo | ( | const char * | name, |
| SceKernelMemBlockType | type, | ||
| SceSize | vsize, | ||
| const SceKernelAllocMemBlockOptKernel * | opt, | ||
| SceKernelAllocMemBlockInfo * | info | ||
| ) |
Allocates a memory block and returns its mapping information.
On FW 3.60, a non-NULL info must point to a SceKernelAllocMemBlockInfo structure with its size field set to 0x14. The function writes exactly those 0x14 bytes. A non-NULL info with any other size is ignored.
| [in] | name | Memory-block name. |
| [in] | type | Memory-block type. |
| [in] | vsize | Allocation size. |
| [in] | opt | Optional allocation options. FW 3.60 accepts option sizes 0x30 and 0x58. |
| [out] | info | Optional mapping information. |
| void * ksceKernelAllocUncacheHeapMemory | ( | SceSize | size | ) |
| void * ksceKernelAllocUncacheHeapMemoryWithOption | ( | SceSize | size, |
| SceKernelHeapMemoryOpt * | opt | ||
| ) |
| int ksceKernelCountFillValue64FromUser | ( | const SceUInt64 * | ptr, |
| SceUInt64 | value, | ||
| SceSize | byte_size | ||
| ) |
Counts the bytes at the start of a user-memory range in the calling process that match a repeated 64-bit value.
| [in] | ptr | Input buffer. The function does not modify it. |
| [in] | value | Value to match. |
| [in] | byte_size | - Buffer size in bytes. It must be a multiple of 8. |
| int ksceKernelCountFillValue64FromUserProc | ( | ScePID | pid, |
| const SceUInt64 * | ptr, | ||
| SceUInt64 | value, | ||
| SceSize | byte_size | ||
| ) |
Counts the bytes at the start of another process's user-memory range that match a repeated 64-bit value.
| [in] | pid | Target process identifier. |
| [in] | ptr | Input buffer. The function does not modify it. |
| [in] | value | Value to match. |
| [in] | byte_size | - Buffer size in bytes. It must be a multiple of 8. |
Counts the bytes at the start of a user-memory range in the calling process that match a repeated 32-bit value.
| [in] | ptr | Input buffer. The function does not modify it. |
| [in] | value | Value to match. |
| [in] | byte_size | - Buffer size in bytes. It must be a multiple of 4. |
| int ksceKernelCountFillValueFromUserProc | ( | ScePID | pid, |
| const SceUInt32 * | ptr, | ||
| SceUInt32 | value, | ||
| SceSize | byte_size | ||
| ) |
Counts the bytes at the start of another process's user-memory range that match a repeated 32-bit value.
| [in] | pid | Target process identifier. |
| [in] | ptr | Input buffer. The function does not modify it. |
| [in] | value | Value to match. |
| [in] | byte_size | - Buffer size in bytes. It must be a multiple of 4. |
| int ksceKernelDecRefCountMemBlock | ( | SceUID | uid | ) |
Decrements a memblock's internal range/reference counter.
| int ksceKernelFreeUncacheHeapMemory | ( | void * | ptr | ) |
| int ksceKernelGetMemBlockInfo | ( | SceUID | uid, |
| SceUInt32 | visibility_level, | ||
| SceKernelMemBlockInfoEx * | info | ||
| ) |
Gets extended memblock information at visibility level 0 through 7.
Set the size field of info to 0xB8 before calling. The function writes the information to the same structure.
| int ksceKernelGetMemBlockMappedBase | ( | SceUID | uid, |
| void ** | base | ||
| ) |
Gets the currently mapped base of a memblock.
| int ksceKernelGetMemBlockMemtypeByAddr | ( | const void * | addr | ) |
Gets the internal memory type for an address.
FW 3.60 can return internal 0x??00 values such as 0x8000 that are not named by SceKernelMemoryType.
| [in] | addr | Address in the current address space. |
| int ksceKernelGetMemBlockPARange | ( | SceUID | uid, |
| SceKernelPARange * | pa_range | ||
| ) |
Gets the single physical range backing a memblock.
| int ksceKernelGetMemBlockPAVector | ( | SceUID | uid, |
| SceKernelPAVector * | pa_vector | ||
| ) |
Gets the physical-range vector backing a memblock.
| int ksceKernelGetMemBlockVBase | ( | SceUID | uid, |
| void ** | base | ||
| ) |
Gets the virtual base reserved for a memblock.
| int ksceKernelGetPhysicalMemoryType | ( | const void * | vaddr | ) |
Classifies the physical region containing a virtual address.
FW 3.60 returns 5 for physical addresses from 0x20000000 through 0x2FFFFFFF, 1 from 0x40000000 through 0x7FFFFFFF, 3 from 0x80000000 through 0xBFFFFFFF, and 7 for all other physical ranges.
| int ksceKernelIncRefCountMemBlock | ( | SceUID | uid | ) |
Increments a memblock's internal range/reference counter.
permission is a bitwise OR of SceKernelMemoryRefPerm values.
| int ksceKernelIsAccessibleRangeProc | ( | ScePID | pid, |
| SceUInt32 | permission, | ||
| const void * | va, | ||
| SceSize | len | ||
| ) |
permission is a bitwise OR of SceKernelMemoryRefPerm values.
| int ksceKernelIsEqualAccessibleRangeProcBySW | ( | ScePID | pid, |
| SceUInt32 | permission, | ||
| const void * | va, | ||
| SceSize | len | ||
| ) |
Checks whether a range has exactly the requested software permissions.
On FW 3.60, pid is ignored and va is only read.
| [in] | pid | Process identifier. Ignored on FW 3.60. |
| [in] | permission | - Bitwise OR of SceKernelMemoryRefPerm values. |
| [in] | va | Start of the range. |
| [in] | len | Range size in bytes. It must be nonzero. |
| int ksceKernelMemBlockGetInfoEx | ( | SceUID | uid, |
| SceKernelMemBlockInfoEx * | info | ||
| ) |
Gets extended memblock information at visibility level 7.
| [in] | uid | - Memblock UID. |
| [in,out] | info | - Receives the information. Set its size field to 0xB8 before calling. |
| int ksceKernelMemBlockType2Memtype | ( | SceKernelMemBlockType | type | ) |
Gets the internal memory-type class associated with a memblock type.
| int ksceKernelMemBlockTypeGetPrivileges | ( | SceKernelMemBlockType | type | ) |
Gets the memory permissions associated with a memblock type.
Translates an address in another process after applying an MMU access mode.
| [in] | pid | - Target process. |
| [in] | permission | - Bitwise OR of SceKernelMemoryRefPerm values. |
| [in] | va | - Virtual address. |
| [out] | pa | - Physical address. |
| int ksceKernelVARangeToPARangeByHW | ( | const SceKernelVARange * | v_range, |
| SceKernelPARange * | pa_range | ||
| ) |
| int ksceKernelVARangeToPARangeBySW | ( | const SceKernelVARange * | v_range, |
| SceKernelPARange * | pa_range | ||
| ) |
| int ksceKernelVARangeToPAVectorByHW | ( | const SceKernelVARange * | v_range, |
| SceKernelPAVector * | pa_vector | ||
| ) |
| int ksceKernelVARangeToPAVectorBySW | ( | const SceKernelVARange * | v_range, |
| SceKernelPAVector * | pa_vector | ||
| ) |
| int ksceKernelVAtoPABySW | ( | const void * | va, |
| void ** | pa | ||
| ) |
Gets the class of an object in a process-local UID namespace.
Gets the read-only name owned by a process-local UID entry.
Sysmem owns the name. Renaming or destroying the entry can invalidate the pointer.
| int kscePUIDGetObject | ( | ScePID | pid, |
| SceUID | puid, | ||
| SceKernelObject ** | object | ||
| ) |
Gets the class-specific object data for a process-local UID without taking a reference.
The caller must ensure that the object remains alive.
Opens a global UID in a process-local UID namespace.
FW 3.60 accepts flag values from 0 through 3. Bit 0 marks the source GUID as opened through a PUID entry; bit 1 sets an internal flag on the target PUID entry heap.
Opens a named object in a process-local UID namespace.
Opens a named object of the required class in a process-local UID namespace.
Replaces the name of a process-local UID entry.
Resolves a process-local UID to its global UID, requiring object_class.
| int ksceKernelVAtoPA | ( | const void * | va, |
| uintptr_t * | pa | ||
| ) |
Get the physical address of a given virtual address.
| [in] | va | - The virtual address |
| [out] | pa | - The physical address |
| int ksceKernelVARangeToPARange | ( | const SceKernelVARange * | va_range, |
| SceKernelPARange * | pa_range | ||
| ) |
Get the physical address range of a given virtual address range.
| [in] | va_range | - The virtual address range |
| [out] | pa_range | - The vector of physical addresses |
| int ksceKernelVARangeToPAVector | ( | const SceKernelVARange * | va_range, |
| SceKernelPAVector * | pa_vector | ||
| ) |
Get the physical address list of a given virtual address range.
| [in] | va_range | - The virtual address range |
| [out] | pa_vector | - The vector of physical addresses |
| VITASDK_BUILD_ASSERT_EQ | ( | 0xC | , |
| SceKernelProcessContext | |||
| ) |
| int ksceKernelProcessGetContext | ( | SceUID | pid, |
| SceKernelProcessContext ** | ctx | ||
| ) |
Get the process context.
| [in] | pid | - The target process id |
| [out] | ctx | - The context output pointer of pointer |
| int ksceKernelProcessSwitchContext | ( | const SceKernelProcessContext * | new_context, |
| SceKernelProcessContext * | prev_context | ||
| ) |
Switch the process context.
| [in] | new_context | - The new context |
| [out] | prev_context | - The prev context |
| int ksceKernelAddressSpaceFreeAllMemBlock | ( | SceUID | guid | ) |
| int ksceKernelAddressSpaceVAtoPA | ( | void * | pAS, |
| SceUInt32 | mode, | ||
| void * | pVA, | ||
| void ** | pPA | ||
| ) |
| int ksceKernelDeleteAddressSpace | ( | SceUID | guid | ) |
| int ksceKernelCopyFromUser | ( | void * | dst, |
| const void * | src, | ||
| SceSize | len | ||
| ) |
Memcpy from user memory.
| [in] | dst | - The userland or kernel memory pointer. |
| [in] | src | - The userland memory pointer. |
| [in] | len | - The memcpy length. |
Memcpy from user memory with process.
| [in] | pid | - The target process id. |
| [in] | dst | - The userland or kernel memory pointer. |
| [in] | src | - The userland memory pointer. |
| [in] | len | - The memcpy length. |
| int ksceKernelCopyToUser | ( | void * | dst, |
| const void * | src, | ||
| SceSize | len | ||
| ) |
Memcpy to user memory.
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The memcpy length. |
Memcpy from user memory with process.
| [in] | pid | - The target process id. |
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The memcpy length. |
| int ksceKernelCopyToUserDomain | ( | void * | dst, |
| const void * | src, | ||
| SceSize | len | ||
| ) |
Memcpy to user RO memory.
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The memcpy length. |
| int ksceKernelCopyToUserTextDomain | ( | void * | dst, |
| const void * | src, | ||
| SceSize | len | ||
| ) |
Memcpy to user RO memory with DcacheAndL2WritebackRange.
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The memcpy length. |
Memcpy to user RX memory with process.
| [in] | pid | - The target process id. |
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The memcpy length. |
Strncpy from user memory.
| [in] | dst | - The userland or kernel memory pointer. |
| [in] | src | - The userland memory pointer. |
| [in] | len | - The copy length. |
Strncpy from user memory with process.
| [in] | pid | - The target process id. |
| [in] | dst | - The userland or kernel memory pointer. |
| [in] | src | - The userland memory pointer. |
| [in] | len | - The copy length. |
Strncpy to user memory.
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The copy length. |
Strncpy to user memory with process.
| [in] | pid | - The target process id. |
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland or kernel memory pointer. |
| [in] | len | - The copy length. |
Strnlen user memory.
| [in] | s | - The userland memory pointer. |
| [in] | n | - The max length. |
Strnlen user memory with process.
| [in] | pid | - The target process id. |
| [in] | s | - The userland memory pointer. |
| [in] | n | - The max length. |
| int ksceKernelCopyFromToUser | ( | void * | dst, |
| const void * | src, | ||
| SceSize | len | ||
| ) |
Memcpy user memory to user memory.
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland memory pointer. |
| [in] | len | - The copy length. |
Memcpy user memory to user memory with process.
| [in] | pid | - The target process id. |
| [in] | dst | - The userland memory pointer. |
| [in] | src | - The userland memory pointer. |
| [in] | len | - The copy length. |
| int ksceKernelGetFixedHeapInfoByPointer | ( | void * | pFixedHeap, |
| void * | pInfo | ||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x1C | , |
| SceKernelHeapCreateOpt | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
| SceAllocOpt | |||
| ) |
| SceUID ksceKernelCreateHeap | ( | const char * | name, |
| SceSize | size, | ||
| SceKernelHeapCreateOpt * | opt | ||
| ) |
Create heap area.
| [in] | name | - The heap name |
| [in] | size | - The heap size |
| [in] | opt | - The pointer of SceKernelHeapCreateOpt option data |
| int ksceKernelDeleteHeap | ( | SceUID | uid | ) |
Delete heap area.
| [in] | uid | - The heapid |
note - Trigger an infinite loop if something fails internally. For example, passing an invalid heapid.
Allocate the specified length of memory from heap.
| [in] | uid | - The heapid |
| [in] | size | - The alloc size |
| void * ksceKernelAllocHeapMemoryWithOption | ( | SceUID | heapid, |
| SceSize | len, | ||
| SceAllocOpt * | opt | ||
| ) |
Allocate the specified length of memory from heap with option.
| [in] | uid | - The heapid |
| [in] | size | - The alloc size |
| [in] | opt | - The pointer of option |
Reallocate the specified pointer to the new length.
| [in] | uid | - The heapid |
| [in] | ptr | - The pointer of allocated memory or NULL |
| [in] | len | - The new alloc size |
| int ksceKernelFreeHeapMemory | ( | SceUID | uid, |
| void * | ptr | ||
| ) |
Free allocated memory.
| [in] | uid | - The heapid |
| [in] | ptr | - The pointer of allocated memory |
| void * ksceKernelAlloc | ( | unsigned int | size | ) |
Alloc kernel memory.
| [in] | size | - The alloction memory size |
| int ksceKernelFree | ( | void * | ptr | ) |
Free kernel memory.
| [in] | ptr | - The free memory pointer |
| int ksceKernelGetHeapInfoByPtr | ( | void * | pObject, |
| void * | pInfo | ||
| ) |
| int ksceKernelNameHeapGetInfo | ( | void * | pInfo | ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x2C | , |
| SceClass | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
| SceObjectBase | |||
| ) |
| SceClass * ksceKernelGetUIDClass | ( | void | ) |
| SceClass * ksceKernelGetUIDDLinkClass | ( | void | ) |
| SceClass * ksceKernelGetUIDHeapClass | ( | void | ) |
| SceClass * ksceKernelGetUIDMemBlockClass | ( | void | ) |
| int ksceUIDClassInitClass | ( | SceClass * | cls, |
| const char * | name, | ||
| void * | uidclass, | ||
| SceSize | itemsize, | ||
| SceClassCallback | create, | ||
| SceClassCallback | destroy | ||
| ) |
| int ksceKernelFindClassByName | ( | const char * | name, |
| SceClass ** | cls | ||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x20 | , |
| SceGUIDKernelCreateOpt | |||
| ) |
| SceUID ksceGUIDKernelCreateWithOpt | ( | SceClass * | sce_class, |
| const char * | name, | ||
| SceGUIDKernelCreateOpt * | opt, | ||
| SceObjectBase ** | obj | ||
| ) |
| int ksceGUIDClose | ( | SceUID | guid | ) |
| int ksceGUIDReferObject | ( | SceUID | guid, |
| SceObjectBase ** | object | ||
| ) |
Gets an object from a UID.
This increases the internal reference count.
| [in] | guid | - The target global uid. |
| [out] | object | - The object pointer output pointer. |
| int ksceGUIDReferObjectWithClass | ( | SceUID | guid, |
| SceClass * | sce_class, | ||
| SceObjectBase ** | object | ||
| ) |
Gets an object from a UID with class.
This retains the object refer count internally! You must call ksceKernelUidRelease after you are done using it.
| [in] | guid | - The target global uid. |
| [in] | sce_class | - The guid parent class. |
| [out] | object | - The object pointer output pointer. |
| int ksceGUIDReferObjectWithClassLevel | ( | SceUID | guid, |
| SceClass * | pClass, | ||
| SceUInt32 | level, | ||
| SceObjectBase ** | entry | ||
| ) |
Gets an object from a UID with class and level.
This retains the object refer count internally! You must call ksceKernelUidRelease after you are done using it.
| [in] | guid | - The target global uid. |
| [in] | sce_class | - The guid parent class. |
| [in] | level | - The openable level (count/number). The max passable number is 7. If the internal object retention count is (level + 1) or higher, get an error. |
| [out] | object | - The object pointer output pointer. |
| int ksceGUIDReleaseObject | ( | SceUID | guid | ) |
Releases an object referenced by the UID.
This decreases the internal reference count.
| [in] | guid | - The target global uid. |
| int ksceGUIDGetUIDVectorByClass | ( | SceClass * | cls, |
| int | vis_level, | ||
| SceUID * | vector, | ||
| SceSize | num, | ||
| SceSize * | ret_num | ||
| ) |
Get created GUID vectors.
| [in] | cls | - The Class. |
| [in] | vis_level | - The Visible level. |
| [out] | vector | - The GUID vector output. |
| [in] | num | - The GUID vector max number. |
| [out] | ret_num | - The GUID vector result number. |
| int ksceGUIDGetObjectWithClass | ( | SceUID | uid, |
| SceClass * | pClass, | ||
| SceObjectBase ** | obj | ||
| ) |
| int ksceGUIDKernelCreateWithAttr | ( | SceClass * | pClass, |
| const char * | name, | ||
| SceUInt32 | attr, | ||
| SceObjectBase ** | ppEntry | ||
| ) |
| SceSize SceKernelMemBlockInfo::size |
| void* SceKernelMemBlockInfo::mappedBase |
| SceSize SceKernelMemBlockInfo::mappedSize |
| int SceKernelMemBlockInfo::memoryType |
| SceUInt32 SceKernelMemBlockInfo::access |
| SceKernelMemBlockType SceKernelMemBlockInfo::type |
| SceSize SceKernelAllocMemBlockKernelOpt::size |
Size of this structure.
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_4 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::attr |
Bitwise OR of SceKernelAllocMemBlockAttr values.
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_C |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::paddr |
| SceSize SceKernelAllocMemBlockKernelOpt::alignment |
| SceSize SceKernelAllocMemBlockKernelOpt::extraLow |
| SceSize SceKernelAllocMemBlockKernelOpt::extraHigh |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::mirror_blockid |
| SceUID SceKernelAllocMemBlockKernelOpt::pid |
| SceKernelPaddrList* SceKernelAllocMemBlockKernelOpt::paddr_list |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_2C |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_30 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_34 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_38 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_3C |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_40 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_44 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_48 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_4C |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_50 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_54 |
| SceSize SceKernelHeapMemoryOpt::size |
Must be set to sizeof(SceKernelHeapMemoryOpt).
| SceUInt32 SceKernelHeapMemoryOpt::mapping_action |
One of SceKernelHeapMemoryMappingAction.
| SceSize SceKernelHeapMemoryOpt::alignment |
Requested allocation alignment, or zero for the heap default.
| void* SceKernelHeapMemoryOpt::mapped_base |
Base of the mapped or unmapped backing range.
| SceSize SceKernelHeapMemoryOpt::mapped_size |
Size of the mapped or unmapped backing range.
| SceSize SceKernelAllocMemBlockInfo::size |
Must be set to sizeof(SceKernelAllocMemBlockInfo).
| void* SceKernelAllocMemBlockInfo::mapped_base |
Mapped base address.
| SceSize SceKernelAllocMemBlockInfo::mapped_size |
Mapped size.
| SceKernelMemoryType SceKernelAllocMemBlockInfo::memory_type |
Memory type derived from the selected memblock type.
| SceUInt32 SceKernelAllocMemBlockInfo::access |
Bitwise OR of SceKernelMemoryAccessType values.
| SceKernelMemBlockType SceKernelMemBlockInfoCore::type |
Memblock type.
| SceUID SceKernelMemBlockInfoCore::guid |
Global memblock UID, or zero when it is hidden at the requested visibility level.
| const char* SceKernelMemBlockInfoCore::name |
Read-only memblock name.
| void* SceKernelMemBlockInfoCore::mapped_base |
Virtual mapping base.
| SceSize SceKernelMemBlockInfoCore::mapped_size |
Requested mapping size.
| SceSize SceKernelMemBlockInfoCore::alloc_map_size |
Size of the mapping actually allocated.
| SceSize SceKernelMemBlockInfoCore::extra_low |
Low-end mapping padding.
| SceSize SceKernelMemBlockInfoCore::extra_high |
High-end mapping padding.
| SceUInt32 SceKernelMemBlockInfoCore::paging_type |
Internal paging type; observed values include 4 and 8.
| SceUID SceKernelMemBlockInfoCore::partition_guid |
Physical-memory partition UID, or -1 when unavailable.
| SceUIDPhyMemPartObject* SceKernelMemBlockInfoCore::phy_mem_part |
Physical-memory partition object.
| SceSize SceKernelMemBlockInfoEx::size |
Must be set to sizeof(SceKernelMemBlockInfoEx).
| SceKernelMemBlockInfoCore SceKernelMemBlockInfoEx::core_info |
| SceSize SceKernelMemBlockInfoEx::physical_range_count |
Total number of physical ranges.
| SceSize SceKernelMemBlockInfoEx::physical_range_count_written |
Number of entries written to the arrays below, at most 16.
| void* SceKernelMemBlockInfoEx::physical_addresses[16] |
Physical base of each reported range.
| SceSize SceKernelMemBlockInfoEx::physical_sizes[16] |
Size of each reported range.
| SceUInt32 SceKernelProcessContext::TTBR1 |
| SceUInt32 SceKernelProcessContext::DACR |
| SceUInt32 SceKernelProcessContext::CONTEXTIDR |
| SceSize SceKernelHeapCreateOpt::size |
| SceUInt32 { ... } ::attr |
| SceUInt32 { ... } ::uselock |
Use attr instead; uselock will be deprecated.
| union { ... } SceKernelHeapCreateOpt |
| SceUInt32 SceKernelHeapCreateOpt::field_8 |
| SceUInt32 SceKernelHeapCreateOpt::field_C |
| SceUInt32 SceKernelHeapCreateOpt::memtype |
| SceUInt32 SceKernelHeapCreateOpt::field_14 |
| SceUInt32 SceKernelHeapCreateOpt::field_18 |
| SceSize SceAllocOpt::size |
| SceSize SceAllocOpt::data04 |
| SceSize SceAllocOpt::align |
| int SceAllocOpt::data0C |
| int SceAllocOpt::data10 |
| struct SceClass* SceClass::next |
| struct SceClass* SceClass::root |
Root UID meta-class returned by ksceKernelGetUIDClass.
| struct SceClass* SceClass::prev |
| const char* SceClass::name |
| struct SceClass* SceClass::uidclass |
Parent UID class.
| unsigned int SceClass::attributes |
The low byte is the class identifier assigned during registration.
| unsigned short SceClass::itemsize |
| unsigned short SceClass::itemsize_aligned |
| unsigned int SceClass::unk1C |
| SceClassCallback SceClass::create_cb |
Constructor callback.
| SceClassCallback SceClass::destroy_cb |
Destructor callback.
| unsigned int SceClass::magic |
Must be set to 0xABCE9DA5.
| uint32_t { ... } ::sce_reserved[2] |
| void* { ... } ::object |
| SceClass* { ... } ::sce_class |
| struct { ... } SceObjectBase |
| union { ... } SceObjectBase |
| uint32_t SceObjectBase::data[] |
| SceUInt32 { ... } ::flags |
| SceUInt32 { ... } ::attr |
| union { ... } SceGUIDKernelCreateOpt |
| SceUInt32 SceGUIDKernelCreateOpt::field_4 |
| SceUInt32 SceGUIDKernelCreateOpt::field_8 |
| SceUInt32 SceGUIDKernelCreateOpt::pid |
| SceUInt32 SceGUIDKernelCreateOpt::field_10 |
| SceUInt32 SceGUIDKernelCreateOpt::field_14 |
| SceUInt32 SceGUIDKernelCreateOpt::field_18 |
| SceUInt32 SceGUIDKernelCreateOpt::field_1C |