![]() |
vitasdk
Documentation of the vitasdk
|
Exports for Kernel. More...
Data Structures | |
| struct | SceKernelAllocMemBlockKernelOpt |
| struct | SceKernelProcessContext |
| struct | SceKernelHeapCreateOpt |
| struct | SceAllocOpt |
| struct | SceClass |
| struct | SceObjectBase |
| struct | SceGUIDKernelCreateOpt |
| union | SceKernelHeapCreateOpt.__unnamed36__ |
| union | SceObjectBase.__unnamed38__ |
| struct | SceObjectBase.__unnamed38__.__unnamed40__ |
| union | SceGUIDKernelCreateOpt.__unnamed42__ |
Typedefs | |
| typedef SceUInt32 | SceKernelMemBlockType |
| typedef SceKernelAllocMemBlockKernelOpt | SceKernelAllocMemBlockOptKernel |
| typedef int(* | SceClassCallback) (void *item) |
| typedef SceGUIDKernelCreateOpt | SceCreateUidObjOpt |
Functions | |
| VITASDK_BUILD_ASSERT_EQ (4, SceKernelMemBlockType) | |
| 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 (SceUID 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 (SceUID 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) |
| 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) |
| Allocation the specified length of memory from heap. | |
| void * | ksceKernelAllocHeapMemoryWithOption (SceUID heapid, SceSize len, SceAllocOpt *opt) |
| Allocation the specified length of memory from heap with option. | |
| 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 SceKernelAllocMemBlockKernelOpt |
| Data Fields | ||
|---|---|---|
| SceSize | size | sizeof(SceKernelAllocMemBlockKernelOpt) |
| SceUInt32 | field_4 | |
| SceUInt32 | attr | OR of SceKernelAllocMemBlockAttr. |
| SceUInt32 | field_C | |
| SceUInt32 | paddr | |
| SceSize | alignment | |
| SceUInt32 | extraLow | |
| SceUInt32 | 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 SceKernelHeapCreateOpt |
| struct SceClass |
| Data Fields | ||
|---|---|---|
| struct SceClass * | next | |
| struct SceClass * | root | |
| struct SceClass * | prev | |
| const char * | name | |
| struct SceClass * | uidclass | |
| unsigned int | attributes | |
| unsigned short | itemsize | |
| unsigned short | itemsize_aligned | |
| unsigned int | unk1C | |
| SceClassCallback | create_cb | |
| SceClassCallback | destroy_cb | |
| unsigned int | magic | |
| struct SceObjectBase |
| Data Fields | ||
|---|---|---|
| union SceObjectBase.__unnamed38__ | __unnamed__ | |
| uint32_t | data[] | |
| struct SceGUIDKernelCreateOpt |
| union SceObjectBase.__unnamed38__ |
| Data Fields | ||
|---|---|---|
| uint32_t | sce_reserved[2] | |
| struct SceObjectBase.__unnamed38__.__unnamed40__ | __unnamed__ | |
| struct SceObjectBase.__unnamed38__.__unnamed40__ |
| 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 int(* SceClassCallback) (void *item) |
| enum SceKernelModel |
| enum SceKernelHeapAttr |
| VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
| SceKernelMemBlockType | |||
| ) |
| 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 | ) |
| 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.
Allocation the specified length of memory from heap.
| [in] | uid | - The heapid |
| [in] | size | - The alloc size |
| void * ksceKernelAllocHeapMemoryWithOption | ( | SceUID | heapid, |
| SceSize | len, | ||
| SceAllocOpt * | opt | ||
| ) |
Allocation the specified length of memory from heap with option.
| [in] | uid | - The heapid |
| [in] | size | - The alloc size |
| [in] | opt | - The pointer of option |
| 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 SceKernelAllocMemBlockKernelOpt::size |
sizeof(SceKernelAllocMemBlockKernelOpt)
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_4 |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::attr |
OR of SceKernelAllocMemBlockAttr.
| SceUInt32 SceKernelAllocMemBlockKernelOpt::field_C |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::paddr |
| SceSize SceKernelAllocMemBlockKernelOpt::alignment |
| SceUInt32 SceKernelAllocMemBlockKernelOpt::extraLow |
| SceUInt32 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 |
| SceUInt32 SceKernelProcessContext::TTBR1 |
| SceUInt32 SceKernelProcessContext::DACR |
| SceUInt32 SceKernelProcessContext::CONTEXTIDR |
| SceSize SceKernelHeapCreateOpt::size |
| SceUInt32 { ... } ::attr |
| SceUInt32 { ... } ::uselock |
| 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 |
| struct SceClass* SceClass::prev |
| const char* SceClass::name |
| struct SceClass* SceClass::uidclass |
| unsigned int SceClass::attributes |
| unsigned short SceClass::itemsize |
| unsigned short SceClass::itemsize_aligned |
| unsigned int SceClass::unk1C |
| SceClassCallback SceClass::create_cb |
| SceClassCallback SceClass::destroy_cb |
| unsigned int SceClass::magic |
| 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 |