![]() |
vitasdk
Documentation of the vitasdk
|
Exports for Kernel. More...
Macros | |
| #define | SCE_KERNEL_START_SUCCESS (0) |
Return values for plugins module_start and module_stop | |
| #define | SCE_KERNEL_START_RESIDENT SCE_KERNEL_START_SUCCESS |
| #define | SCE_KERNEL_START_NO_RESIDENT (1) |
| #define | SCE_KERNEL_START_FAILED (2) |
| #define | SCE_KERNEL_STOP_SUCCESS (0) |
| #define | SCE_KERNEL_STOP_FAIL (1) |
| #define | SCE_KERNEL_STOP_CANCEL SCE_KERNEL_STOP_FAIL |
| #define | SCE_MODULE_ATTR_NONE (0x0000) |
| #define | SCE_KERNEL_MODULE_ATTR_NONE SCE_MODULE_ATTR_NONE |
| #define | ksceKernelGetModuleInternal ksceKernelGetModuleCB |
| #define | ksceKernelGetProcessMainModule ksceKernelGetModuleIdByPid |
Typedefs | |
| typedef SceKernelSystemSwVersion | SceKernelFwInfo |
Enumerations | |
| enum | SceKernelModuleState { SCE_KERNEL_MODULE_STATE_READY = 0x00000002 , SCE_KERNEL_MODULE_STATE_STARTED = 0x00000006 , SCE_KERNEL_MODULE_STATE_ENDED = 0x00000009 } |
| enum | SceKernelPreloadInhibit { SCE_KERNEL_PRELOAD_INHIBIT_NONE = 0x00000000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBC = 0x10000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBDBG = 0x20000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBSHELLSVC = 0x80000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBCDLG = 0x100000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBFIOS2 = 0x200000 , SCE_KERNEL_PRELOAD_INHIBIT_APPUTIL = 0x400000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBSCEFT2 = 0x800000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBPVF = 0x1000000 , SCE_KERNEL_PRELOAD_INHIBIT_LIBPERF = 0x2000000 } |
Exports for Kernel.
Include the header file in your project:
Include the header file in your project:
Link the library to the executable:
| struct SceKernelStartModuleOpt |
| struct SceKernelStopModuleOpt |
| struct SceKernelSegmentInfo |
| struct SceKernelModuleInfo |
Information about a loaded module.
The FW 3.60 kernel APIs use this fixed 0x1B8-byte layout, but do not clear the output buffer or write every reserved byte. Before calling these kernel APIs, zero the entire structure and initialize size. The user function sceKernelGetModuleInfo does this internally.
| Data Fields | ||
|---|---|---|
| SceSize | size | Size of this structure; left unchanged by the FW 3.60 kernel APIs. |
| SceUID | modid | Module identifier. |
| uint16_t | modattr | Module attributes. |
| uint8_t | modver[2] | Module version. |
| char | module_name[28] | Module name; zero the structure first to ensure NUL termination. |
| SceUInt | unk28 | |
| void * | start_entry | Module start entry point. |
| void * | stop_entry | Module stop entry point. |
| void * | exit_entry | Module exit entry point. |
| void * | exidx_top | Start of the ARM exception index table. |
| void * | exidx_btm | End of the ARM exception index table. |
| void * | extab_top | Start of the ARM exception table. |
| void * | extab_btm | End of the ARM exception table. |
| void * | tlsInit | TLS initialization image. |
| SceSize | tlsInitSize | Size of the TLS initialization image. |
| SceSize | tlsAreaSize | Total TLS area size. |
| char | path[256] | Module path. |
| SceKernelSegmentInfo | segments[4] | Information for up to four mapped segments. |
| SceUInt | state | One of SceKernelModuleState. |
| struct SceKernelLMOption |
| Data Fields | ||
|---|---|---|
| SceSize | size | |
| struct SceKernelULMOption |
| Data Fields | ||
|---|---|---|
| SceSize | size | |
| struct SceKernelSystemSwVersion |
| struct SceKernelModuleLibraryInfo |
| Data Fields | ||
|---|---|---|
| SceSize | size | sizeof(SceKernelModuleLibraryInfo) : 0x120 |
| SceUID | library_id | |
| uint32_t | libnid | |
| uint16_t | version | |
| uint16_t | flags | |
| uint16_t | entry_num_function | |
| uint16_t | entry_num_variable | |
| uint16_t | unk_0x14 | |
| uint16_t | unk_0x16 | |
| char | library_name[0x100] | |
| union SceKernelModuleLibraryInfo.__unnamed14__ | __unnamed__ | |
| union SceKernelModuleLibraryInfo.__unnamed16__ | __unnamed__ | |
| struct SceKernelSegmentInfo2 |
| Data Fields | ||
|---|---|---|
| SceSize | size | sizeof(SceKernelSegmentInfo2) (0x14) |
| int | perm | |
| void * | vaddr | |
| uint32_t | memsz | |
| union SceKernelSegmentInfo2.__unnamed37__ | __unnamed__ | |
| struct SceKernelModuleListInfo |
| Data Fields | ||
|---|---|---|
| SceSize | size | |
| SceUID | modid | |
| uint32_t | version | |
| uint32_t | module_version | |
| union SceKernelModuleListInfo.__unnamed39__ | __unnamed__ | |
| void * | unk14 | |
| uint32_t | unk18 | |
| void * | unk1C | |
| void * | unk20 | |
| char | module_name[28] | |
| uint32_t | unk40 | |
| uint32_t | unk44 | |
| uint32_t | nid | |
| SceSize | segments_num | |
| union SceKernelModuleListInfo.__unnamed41__ | __unnamed__ | |
| struct SceKernelModuleExportEntry |
| Data Fields | ||
|---|---|---|
| SceNID | libnid | |
| void * | entry | |
| struct SceKernelModuleImportNonlinkedInfo |
| struct SceLoadProcessParam |
| struct SceKernelFunctionShimInfo |
| struct SceKernelLibraryShimInfo |
| Data Fields | ||
|---|---|---|
| const char * | library_name |
Name of the library the shimmed functions come from (i.e. SceThreadmgr) |
| SceUInt32 | unk_04 | Always 0 ? |
| SceUInt32 | function_shims_count | Size of the array pointed to by next field. |
| SceKernelFunctionShimInfo * | function_shims | |
| struct SceKernelCompatibilityShimInfo |
| Data Fields | ||
|---|---|---|
| const char * | title_id | TitleID (process name) of the app this shim applies to. |
| SceUInt32 | unk_04 | Always 0 ? |
| SceUInt32 | library_shims_count | Size of the array pointed to by next field. |
| SceKernelLibraryShimInfo * | library_shims | |
| union SceKernelModuleLibraryInfo.__unnamed14__ |
| Data Fields | ||
|---|---|---|
| SceSize | client_count | Number of modules importing this library. |
| SceSize | number_of_imported | Legacy name for client_count. |
| union SceKernelModuleLibraryInfo.__unnamed16__ |
| Data Fields | ||
|---|---|---|
| SceUID | owner_module_id | ID of the module that owns the library. |
| SceUID | modid2 | Legacy name for owner_module_id. |
| union SceKernelSegmentInfo2.__unnamed37__ |
| union SceKernelModuleListInfo.__unnamed39__ |
| Data Fields | ||
|---|---|---|
| uint32_t | unk10 | Legacy field containing the packed module type and flags. |
| struct SceKernelModuleListInfo.__unnamed39__.__unnamed43__ | __unnamed__ | |
| struct SceKernelModuleListInfo.__unnamed39__.__unnamed43__ |
| union SceKernelModuleListInfo.__unnamed41__ |
| Data Fields | ||
|---|---|---|
| struct SceKernelModuleListInfo.__unnamed41__.seg1 | seg1 | |
| struct SceKernelModuleListInfo.__unnamed41__.seg2 | seg2 | |
| struct SceKernelModuleListInfo.__unnamed41__.seg3 | seg3 | |
| struct SceKernelModuleListInfo.__unnamed41__.seg4 | seg4 | |
| struct SceKernelModuleListInfo.__unnamed41__.seg1 |
| Data Fields | ||
|---|---|---|
| SceKernelSegmentInfo2 | SegmentInfo[1] | |
| uint32_t | addr[4] | |
| struct SceKernelModuleListInfo.__unnamed41__.seg2 |
| Data Fields | ||
|---|---|---|
| SceKernelSegmentInfo2 | SegmentInfo[2] | |
| uint32_t | addr[4] | |
| struct SceKernelModuleListInfo.__unnamed41__.seg3 |
| Data Fields | ||
|---|---|---|
| SceKernelSegmentInfo2 | SegmentInfo[3] | |
| uint32_t | addr[4] | |
| struct SceKernelModuleListInfo.__unnamed41__.seg4 |
| Data Fields | ||
|---|---|---|
| SceKernelSegmentInfo2 | SegmentInfo[4] | |
| uint32_t | addr[4] | |
| #define SCE_KERNEL_START_SUCCESS (0) |
Return values for plugins module_start and module_stop
| #define SCE_KERNEL_START_RESIDENT SCE_KERNEL_START_SUCCESS |
| #define SCE_KERNEL_START_NO_RESIDENT (1) |
| #define SCE_KERNEL_START_FAILED (2) |
| #define SCE_KERNEL_STOP_SUCCESS (0) |
| #define SCE_KERNEL_STOP_FAIL (1) |
| #define SCE_KERNEL_STOP_CANCEL SCE_KERNEL_STOP_FAIL |
| #define SCE_MODULE_ATTR_NONE (0x0000) |
| #define SCE_KERNEL_MODULE_ATTR_NONE SCE_MODULE_ATTR_NONE |
| #define ksceKernelGetModuleInternal ksceKernelGetModuleCB |
| #define ksceKernelGetProcessMainModule ksceKernelGetModuleIdByPid |
| enum SceKernelModuleState |
| VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
| SceKernelPreloadInhibit | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
| SceKernelStartModuleOpt | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
| SceKernelStopModuleOpt | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x18 | , |
| SceKernelSegmentInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x1B8 | , |
| SceKernelModuleInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
| SceKernelLMOption | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
| SceKernelULMOption | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x28 | , |
| SceKernelSystemSwVersion | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x120 | , |
| SceKernelModuleLibraryInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x1C | , |
| SceKernelModuleName | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x14 | , |
| SceKernelSegmentInfo2 | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0xB0 | , |
| SceKernelModuleListInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
| SceKernelModuleExportEntry | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x124 | , |
| SceKernelModuleImportNonlinkedInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
| SceSelfAppInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x7C | , |
| SceLoadProcessParam | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 8 | , |
| SceKernelFunctionShimInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
| SceKernelLibraryShimInfo | |||
| ) |
| VITASDK_BUILD_ASSERT_EQ | ( | 0x10 | , |
| SceKernelCompatibilityShimInfo | |||
| ) |
| void ksceKernelRegisterSyscall | ( | SceSize | syscall_id, |
| const void * | func | ||
| ) |
Register syscall function.
| [in] | syscall_id | - register syscall id (Must be less than 0x1000) |
| [in] | func | - syscall function |
| void ksceKernelRegisterModulesAfterBoot | ( | void | ) |
Setup kernel for modulemgr.
Get module id list.
| [in] | pid | - target pid |
| [in] | flags1 | - unknown, use 0x7FFFFFFF |
| [in] | flags2 | - unknown, use 1 |
| [out] | modids | - info output pointer |
| [in,out] | num | - in:list max num, out:get modid num |
| int ksceKernelGetModuleInfoForDebugger | ( | SceUID | pid, |
| SceKernelModuleListInfo * | infolists, | ||
| SceSize * | num | ||
| ) |
| [in] | pid | - target pid |
| [out] | infolists | - infolists output |
| [in,out] | num | - Specify the maximum number of modinfolist to retrieve. If the function returns 0, it returns the number of modules loaded in the target pid in num |
| int ksceKernelGetModuleInfo | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceKernelModuleInfo * | info | ||
| ) |
Get module info.
| [in] | pid | - target pid |
| [in] | modid | - target module id |
| [out] | info | - info output pointer |
| int ksceKernelGetModuleInfoMinByAddr | ( | SceUID | pid, |
| const void * | module_addr, | ||
| uint32_t * | module_nid, | ||
| const void ** | program_text_addr, | ||
| SceKernelModuleName * | module_name | ||
| ) |
Get module info mini by module address.
| [in] | pid | - target pid |
| [in] | module_addr | - target module address, Also possible with data segment address |
| [out] | module_nid | - can also set NULL, module nid output |
| [out] | program_text_addr | - can also set NULL, program text addr output |
| [out] | module_name | - can also set NULL, module name output |
| int ksceKernelGetModuleCB | ( | SceUID | modid, |
| void ** | info | ||
| ) |
Get module info (internal)
| [in] | modid | - target module id |
| [out] | info | - module_info output pointer |
| int ksceKernelGetModuleCBByAddr | ( | SceUID | pid, |
| const void * | module_addr, | ||
| void ** | info | ||
| ) |
Get module info by address (internal)
| [in] | pid | - target process id |
| [in] | module_addr | - target module address |
| [out] | info | - module_info output pointer |
Get module id by module address.
| [in] | pid | - target pid |
| [in] | module_addr | - target module address |
| SceUID ksceKernelSearchModuleByName | ( | const char * | module_name | ) |
search kernel module by module name
| [in] | module_name | - target module name |
| int ksceKernelGetSystemSwVersion | ( | SceKernelFwInfo * | data | ) |
Get fw info.
| [out] | data | - fw info output pointer |
| SceUID ksceKernelLoadModule | ( | const char * | path, |
| int | flags, | ||
| SceKernelLMOption * | option | ||
| ) |
load module (kernel only)
| [in] | path | - module path |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| int ksceKernelStartModule | ( | SceUID | modid, |
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelLMOption * | option, | ||
| int * | status | ||
| ) |
start module (kernel only)
| [in] | modid | - target module id |
| [in] | args | - module start args |
| [in] | argp | - module start argp |
| [in] | flags | - must be 0 |
| [in] | option | - Optional 0x10-byte start-module options. |
| [out] | status | - module_start res, SCE_KERNEL_START_SUCCESS etc... |
| SceUID ksceKernelLoadStartModule | ( | const char * | path, |
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelLMOption * | option, | ||
| int * | status | ||
| ) |
load and start module (kernel only)
| [in] | path | - module path |
| [in] | args | - module start args |
| [in] | argp | - module start argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| [out] | status | - module_start res, SCE_KERNEL_START_SUCCESS etc... |
| int ksceKernelStopModule | ( | SceUID | modid, |
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelULMOption * | option, | ||
| int * | status | ||
| ) |
stop module (kernel only)
| [in] | modid | - target module id |
| [in] | args | - module stop args |
| [in] | argp | - module stop argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - Optional 0x10-byte stop-module options. |
| [out] | status | - module_stop res, SCE_KERNEL_STOP_SUCCESS etc... |
| int ksceKernelUnloadModule | ( | SceUID | modid, |
| int | flags, | ||
| SceKernelULMOption * | option | ||
| ) |
unload module (kernel only)
| [in] | modid | - target module id |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| int ksceKernelStopUnloadModule | ( | SceUID | modid, |
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelULMOption * | option, | ||
| int * | status | ||
| ) |
stop and unload module (kernel only)
| [in] | modid | - target module id |
| [in] | args | - module stop args |
| [in] | argp | - module stop argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| [out] | status | - module_stop res, SCE_KERNEL_STOP_SUCCESS etc... |
| SceUID ksceKernelLoadModuleForPid | ( | SceUID | pid, |
| const char * | path, | ||
| int | flags, | ||
| SceKernelLMOption * | option | ||
| ) |
load module
| [in] | pid | - target pid |
| [in] | path | - module path |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| int ksceKernelStartModuleForPid | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelLMOption * | option, | ||
| int * | status | ||
| ) |
start module
| [in] | pid | - target pid |
| [in] | modid | - target module id |
| [in] | args | - module start args |
| [in] | argp | - module start argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - Optional 0x10-byte start-module options. |
| [out] | status | - module_start res, SCE_KERNEL_START_SUCCESS etc... |
| SceUID ksceKernelLoadStartModuleForPid | ( | SceUID | pid, |
| const char * | path, | ||
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelLMOption * | option, | ||
| int * | status | ||
| ) |
load and start module
| [in] | pid | - target pid |
| [in] | path | - module path |
| [in] | args | - module start args |
| [in] | argp | - module start argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| [out] | status | - module_start res, SCE_KERNEL_START_SUCCESS etc... |
| int ksceKernelStopModuleForPid | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelULMOption * | option, | ||
| int * | status | ||
| ) |
stop module
| [in] | pid | - target pid |
| [in] | modid | - target module id |
| [in] | args | - module stop args |
| [in] | argp | - module stop argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - Optional 0x10-byte stop-module options. |
| [out] | status | - module_stop res, SCE_KERNEL_STOP_SUCCESS etc... |
| int ksceKernelUnloadModuleForPid | ( | SceUID | pid, |
| SceUID | modid, | ||
| int | flags, | ||
| SceKernelULMOption * | option | ||
| ) |
unload module
| [in] | pid | - target pid |
| [in] | modid | - target module id |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| int ksceKernelStopUnloadModuleForPid | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelULMOption * | option, | ||
| int * | status | ||
| ) |
stop and unload module
| [in] | pid | - target pid |
| [in] | modid | - target module id |
| [in] | args | - module stop args |
| [in] | argp | - module stop argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| [out] | status | - module_stop res, SCE_KERNEL_STOP_SUCCESS etc... |
| SceUID ksceKernelLoadStartSharedModuleForPid | ( | SceUID | pid, |
| const char * | path, | ||
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelLMOption * | option, | ||
| int * | status | ||
| ) |
load and start module as shared module
| [in] | pid | - target pid |
| [in] | path | - module path |
| [in] | args | - module start args |
| [in] | argp | - module start argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| [out] | status | - module_start res, SCE_KERNEL_START_SUCCESS etc... |
| int ksceKernelStopUnloadSharedModuleForPid | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceSize | args, | ||
| void * | argp, | ||
| int | flags, | ||
| SceKernelULMOption * | option, | ||
| int * | status | ||
| ) |
stop and unload module as shared module
| [in] | pid | - target pid |
| [in] | modid | - target module id |
| [in] | args | - module stop args |
| [in] | argp | - module stop argp |
| [in] | flags | - unknown, set zero |
| [in] | option | - unknown |
| [out] | status | - module_stop res, SCE_KERNEL_STOP_SUCCESS etc... |
| int ksceKernelMountBootfs | ( | const char * | bootImagePath | ) |
mount bootfs (load bootfs module)
| [in] | bootImagePath | - bootfs module path |
| int ksceKernelUmountBootfs | ( | void | ) |
unmount bootfs (unload bootfs module)
Get the main module id for a given process.
| pid | The process to query. |
Get the module path.
| [in] | modid | - target module ID |
| [out] | path | - module path output |
| [in] | pathlen | - path output max len |
| int ksceKernelGetLibraryInfoForDebugger | ( | SceUID | pid, |
| SceUID | library_id, | ||
| SceKernelModuleLibraryInfo * | info | ||
| ) |
Get library info.
| [in] | pid | - target pid |
| [in] | library_id | - target library ID |
| [out] | info | - info output |
| void ksceKernelFinalizeKbl | ( | void | ) |
| int ksceKernelGetExportedLibraryListInModule | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceUID * | library_ids, | ||
| SceSize * | num | ||
| ) |
| int ksceKernelGetImportedLibraryListInModule | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceUID * | library_ids, | ||
| SceSize * | num | ||
| ) |
| int ksceKernelGetLibEntCBListForSyslibtrace | ( | void ** | ppList, |
| SceSize * | num | ||
| ) |
| int ksceKernelGetLibraryClientList | ( | SceUID | pid, |
| SceUID | library_id, | ||
| SceUID * | modids, | ||
| SceSize * | num, | ||
| SceSize | cpy_skip_num | ||
| ) |
| int ksceKernelGetLibraryDBFlags | ( | SceUID | pid, |
| int * | pFlags | ||
| ) |
| int ksceKernelGetLibraryExportInfoForDebugger | ( | SceUID | pid, |
| SceUID | library_id, | ||
| SceKernelModuleExportEntry * | list, | ||
| SceSize * | num, | ||
| SceSize | cpy_skip_num | ||
| ) |
| int ksceKernelGetLostLibraryInfo | ( | SceUID | pid, |
| SceUID | modid, | ||
| SceNID | libnid, | ||
| SceKernelModuleImportNonlinkedInfo * | info | ||
| ) |
| void * ksceKernelGetModuleEntryPoint | ( | SceUID | modid | ) |
| int ksceKernelGetModuleIsSharedByAddr | ( | SceUID | pid, |
| void * | addr | ||
| ) |
| int ksceKernelGetProgramIdentificationInfo | ( | const char * | path, |
| SceUInt64 * | pAuthid, | ||
| SceSelfAppInfo * | pInfo | ||
| ) |
| int ksceKernelGetStubNidTableForDebugger | ( | SceUID | pid, |
| SceUID | stubid, | ||
| void * | a3, | ||
| SceSize * | num, | ||
| SceSize | cpy_skip_num | ||
| ) |
| int ksceKernelLoadPreloadingModules | ( | SceUID | pid, |
| const SceLoadProcessParam * | pParam, | ||
| int | flags | ||
| ) |
| SceUID ksceKernelLoadProcessImage | ( | SceUID | pid, |
| const char * | path, | ||
| int | flags, | ||
| SceSelfAuthInfo * | auth_info, | ||
| SceLoadProcessParam * | param, | ||
| SceKernelCompatibilityShimInfo * | shim_info | ||
| ) |
| int ksceKernelLoadPtLoadSegForFwloader | ( | const char * | path, |
| int | e_phnum, | ||
| void * | buffer, | ||
| SceSize | bufsize, | ||
| int | zero_unk, | ||
| SceSize * | bytes_read | ||
| ) |
| int ksceKernelModuleUnloadMySelf | ( | void | ) |
| int ksceKernelStartPreloadingModules | ( | SceUID | pid | ) |
| int ksceKernelUnloadProcessModules | ( | SceUID | pid | ) |
| int ksceKernelGetModuleInfoByAddr | ( | const void * | module_addr, |
| SceKernelModuleInfo * | info | ||
| ) |
Gets information about the loaded kernel module containing an address.
| [in] | module_addr | Address in any mapped module segment. |
| [out] | info | SceKernelModuleInfo buffer. Zero it and set its size field to the size of the structure before calling. |
| int ksceKernelRegisterLibary | ( | const void * | libent | ) |
Registers an export library from a loaded kernel module.
| [in] | libent | Pointer to the aligned 0x20-byte library export-table entry within the loaded kernel module that owns it. |
| int ksceKernelReleaseLibary | ( | const void * | libent | ) |
Unregisters an export library from a loaded kernel module and relinks modules whose imports are affected.
| [in] | libent | Pointer to the aligned 0x20-byte library export-table entry within the loaded kernel module that owns it. |
| SceSize SceKernelStartModuleOpt::size |
Size of this structure.
| SceUInt32 SceKernelStartModuleOpt::reserved[3] |
Copied from user memory but unused on FW 3.60; initialize to 0.
| SceSize SceKernelStopModuleOpt::size |
Size of this structure.
| SceUInt32 SceKernelStopModuleOpt::reserved[3] |
Copied from user memory but unused on FW 3.60; initialize to 0.
| SceSize SceKernelSegmentInfo::size |
Size of this structure.
| SceUInt SceKernelSegmentInfo::perms |
Access-permission byte combined with a loader metadata byte shifted left by 20 on FW 3.60.
| void* SceKernelSegmentInfo::vaddr |
Segment virtual address.
| SceSize SceKernelSegmentInfo::memsz |
Segment size in memory.
| SceSize SceKernelSegmentInfo::filesz |
Segment size in the module file.
| SceUInt SceKernelSegmentInfo::res |
unused
| SceSize SceKernelModuleInfo::size |
Size of this structure; left unchanged by the FW 3.60 kernel APIs.
| SceUID SceKernelModuleInfo::modid |
Module identifier.
| uint16_t SceKernelModuleInfo::modattr |
Module attributes.
| uint8_t SceKernelModuleInfo::modver[2] |
Module version.
| char SceKernelModuleInfo::module_name[28] |
Module name; zero the structure first to ensure NUL termination.
| SceUInt SceKernelModuleInfo::unk28 |
| void* SceKernelModuleInfo::start_entry |
Module start entry point.
| void* SceKernelModuleInfo::stop_entry |
Module stop entry point.
| void* SceKernelModuleInfo::exit_entry |
Module exit entry point.
| void* SceKernelModuleInfo::exidx_top |
Start of the ARM exception index table.
| void* SceKernelModuleInfo::exidx_btm |
End of the ARM exception index table.
| void* SceKernelModuleInfo::extab_top |
Start of the ARM exception table.
| void* SceKernelModuleInfo::extab_btm |
End of the ARM exception table.
| void* SceKernelModuleInfo::tlsInit |
TLS initialization image.
| SceSize SceKernelModuleInfo::tlsInitSize |
Size of the TLS initialization image.
| SceSize SceKernelModuleInfo::tlsAreaSize |
Total TLS area size.
| char SceKernelModuleInfo::path[256] |
Module path.
| SceKernelSegmentInfo SceKernelModuleInfo::segments[4] |
Information for up to four mapped segments.
| SceUInt SceKernelModuleInfo::state |
One of SceKernelModuleState.
| SceSize SceKernelLMOption::size |
| SceSize SceKernelULMOption::size |
| SceSize SceKernelSystemSwVersion::size |
| char SceKernelSystemSwVersion::versionString[0x1C] |
| SceUInt SceKernelSystemSwVersion::version |
| SceUInt SceKernelSystemSwVersion::unk_24 |
| SceSize SceKernelModuleLibraryInfo::size |
sizeof(SceKernelModuleLibraryInfo) : 0x120
| SceUID SceKernelModuleLibraryInfo::library_id |
| uint32_t SceKernelModuleLibraryInfo::libnid |
| uint16_t SceKernelModuleLibraryInfo::version |
| uint16_t SceKernelModuleLibraryInfo::flags |
| uint16_t SceKernelModuleLibraryInfo::entry_num_function |
| uint16_t SceKernelModuleLibraryInfo::entry_num_variable |
| uint16_t SceKernelModuleLibraryInfo::unk_0x14 |
| uint16_t SceKernelModuleLibraryInfo::unk_0x16 |
| char SceKernelModuleLibraryInfo::library_name[0x100] |
| SceSize { ... } ::client_count |
Number of modules importing this library.
| SceSize { ... } ::number_of_imported |
Legacy name for client_count.
| union { ... } SceKernelModuleLibraryInfo |
| SceUID { ... } ::owner_module_id |
ID of the module that owns the library.
| SceUID { ... } ::modid2 |
Legacy name for owner_module_id.
| union { ... } SceKernelModuleLibraryInfo |
| char SceKernelModuleName::s[0x1C] |
| SceSize SceKernelSegmentInfo2::size |
sizeof(SceKernelSegmentInfo2) (0x14)
| int SceKernelSegmentInfo2::perm |
| void* SceKernelSegmentInfo2::vaddr |
| uint32_t SceKernelSegmentInfo2::memsz |
| SceSize { ... } ::alignment |
Power-of-two segment alignment.
| int { ... } ::unk_10 |
Legacy name for alignment.
| union { ... } SceKernelSegmentInfo2 |
| SceSize SceKernelModuleListInfo::size |
| SceUID SceKernelModuleListInfo::modid |
| uint32_t SceKernelModuleListInfo::version |
| uint32_t SceKernelModuleListInfo::module_version |
| uint32_t { ... } ::unk10 |
Legacy field containing the packed module type and flags.
| uint8_t { ... } ::module_type |
| uint8_t { ... } ::reserved_0x11 |
| uint16_t { ... } ::module_flags |
| struct { ... } SceKernelModuleListInfo |
| union { ... } SceKernelModuleListInfo |
| void* SceKernelModuleListInfo::unk14 |
| uint32_t SceKernelModuleListInfo::unk18 |
| void* SceKernelModuleListInfo::unk1C |
| void* SceKernelModuleListInfo::unk20 |
| char SceKernelModuleListInfo::module_name[28] |
| uint32_t SceKernelModuleListInfo::unk40 |
| uint32_t SceKernelModuleListInfo::unk44 |
| uint32_t SceKernelModuleListInfo::nid |
| SceSize SceKernelModuleListInfo::segments_num |
| SceKernelSegmentInfo2 { ... } ::SegmentInfo[1] |
| uint32_t { ... } ::addr[4] |
| struct { ... } SceKernelModuleListInfo::seg1 |
| SceKernelSegmentInfo2 { ... } ::SegmentInfo[2] |
| uint32_t { ... } ::addr[4] |
| struct { ... } SceKernelModuleListInfo::seg2 |
| SceKernelSegmentInfo2 { ... } ::SegmentInfo[3] |
| uint32_t { ... } ::addr[4] |
| struct { ... } SceKernelModuleListInfo::seg3 |
| SceKernelSegmentInfo2 { ... } ::SegmentInfo[4] |
| uint32_t { ... } ::addr[4] |
| struct { ... } SceKernelModuleListInfo::seg4 |
| union { ... } SceKernelModuleListInfo |
| SceNID SceKernelModuleExportEntry::libnid |
| void* SceKernelModuleExportEntry::entry |
| SceSize SceKernelModuleImportNonlinkedInfo::size |
| SceUID SceKernelModuleImportNonlinkedInfo::modid |
| SceNID SceKernelModuleImportNonlinkedInfo::libnid |
| char SceKernelModuleImportNonlinkedInfo::libname[0x100] |
| int SceKernelModuleImportNonlinkedInfo::data_0x10C |
| int SceKernelModuleImportNonlinkedInfo::data_0x110 |
| int SceKernelModuleImportNonlinkedInfo::data_0x114 |
| int SceKernelModuleImportNonlinkedInfo::data_0x118 |
| int SceKernelModuleImportNonlinkedInfo::data_0x11C |
| int SceKernelModuleImportNonlinkedInfo::data_0x120 |
| int SceSelfAppInfo::vendor_id |
| int SceSelfAppInfo::self_type |
| SceUInt32 SceLoadProcessParam::sysver |
| char SceLoadProcessParam::thread_name[0x20] |
| SceUInt32 SceLoadProcessParam::initial_thread_priority |
| SceSize SceLoadProcessParam::initial_thread_stack_size |
| SceUInt32 SceLoadProcessParam::unk_0x2C |
| SceUInt32 SceLoadProcessParam::unk_0x30 |
| SceKernelThreadOptParam SceLoadProcessParam::threadOptParam |
| int SceLoadProcessParam::unk_0x50 |
| char SceLoadProcessParam::process_name[0x20] |
| SceUInt32 SceLoadProcessParam::preload_disabled |
| void* SceLoadProcessParam::module_proc_param |
| SceNID SceKernelFunctionShimInfo::replaced_function_nid |
NID of the function that needs to be replaced.
| SceNID SceKernelFunctionShimInfo::replacing_function_nid |
NID of the function that will serve as a replacement - must probably come from same library as replaced function.
| const char* SceKernelLibraryShimInfo::library_name |
Name of the library the shimmed functions come from (i.e.
SceThreadmgr)
| SceUInt32 SceKernelLibraryShimInfo::unk_04 |
Always 0 ?
| SceUInt32 SceKernelLibraryShimInfo::function_shims_count |
Size of the array pointed to by next field.
| SceKernelFunctionShimInfo* SceKernelLibraryShimInfo::function_shims |
| const char* SceKernelCompatibilityShimInfo::title_id |
TitleID (process name) of the app this shim applies to.
| SceUInt32 SceKernelCompatibilityShimInfo::unk_04 |
Always 0 ?
| SceUInt32 SceKernelCompatibilityShimInfo::library_shims_count |
Size of the array pointed to by next field.
| SceKernelLibraryShimInfo* SceKernelCompatibilityShimInfo::library_shims |