vitasdk
Documentation of the vitasdk
|
Exports for Kernel.
Include the header file in your project:
Include the header file in your project:
Link the library to the executable:
Typedefs | |
typedef SceKernelSystemSwVersion | SceKernelFwInfo |
Macros | |
#define | SCE_KERNEL_START_SUCCESS (0) |
Return values for plugins module_start and module_stop More... | |
#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 | ksceKernelGetModuleInternal ksceKernelGetModuleCB |
#define | ksceKernelGetProcessMainModule ksceKernelGetModuleIdByPid |
struct SceKernelSegmentInfo |
struct SceKernelModuleInfo |
Data Fields | ||
---|---|---|
SceSize | size | 0x1B8 for Vita 1.x |
SceUID | modid | |
uint16_t | modattr | |
uint8_t | modver[2] | |
char | module_name[28] | |
SceUInt | unk28 | |
void * | start_entry | |
void * | stop_entry | |
void * | exit_entry | |
void * | exidx_top | |
void * | exidx_btm | |
void * | extab_top | |
void * | extab_btm | |
void * | tlsInit | |
SceSize | tlsInitSize | |
SceSize | tlsAreaSize | |
char | path[256] | |
SceKernelSegmentInfo | segments[4] | |
SceUInt | state | see:SceKernelModuleState |
struct SceKernelLMOption |
Data Fields | ||
---|---|---|
SceSize | size |
struct SceKernelULMOption |
Data Fields | ||
---|---|---|
SceSize | size |
struct SceKernelSystemSwVersion |
struct SceKernelModuleLibraryInfo |
struct SceKernelSegmentInfo2 |
Data Fields | ||
---|---|---|
SceSize | size | sizeof(SceKernelSegmentInfo2) (0x14) |
int | perm | |
void * | vaddr | |
uint32_t | memsz | |
int | unk_10 |
struct SceKernelModuleListInfo |
Data Fields | ||
---|---|---|
SceSize | size | |
SceUID | modid | |
uint32_t | version | |
uint32_t | module_version | |
uint32_t | unk10 | |
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 | __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 SceKernelModuleListInfo.__unnamed26__ |
Data Fields | ||
---|---|---|
__unnamed26__ | seg1 | |
__unnamed26__ | seg2 | |
__unnamed26__ | seg3 | |
__unnamed26__ | seg4 |
struct SceKernelModuleListInfo.__unnamed26__.seg1 |
Data Fields | ||
---|---|---|
SceKernelSegmentInfo2 | SegmentInfo[1] | |
uint32_t | addr[4] |
struct SceKernelModuleListInfo.__unnamed26__.seg2 |
Data Fields | ||
---|---|---|
SceKernelSegmentInfo2 | SegmentInfo[2] | |
uint32_t | addr[4] |
struct SceKernelModuleListInfo.__unnamed26__.seg3 |
Data Fields | ||
---|---|---|
SceKernelSegmentInfo2 | SegmentInfo[3] | |
uint32_t | addr[4] |
struct SceKernelModuleListInfo.__unnamed26__.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 ksceKernelGetModuleInternal ksceKernelGetModuleCB |
#define ksceKernelGetProcessMainModule ksceKernelGetModuleIdByPid |
enum SceKernelModuleState |
VITASDK_BUILD_ASSERT_EQ | ( | 4 | , |
SceKernelPreloadInhibit | |||
) |
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 | - unknown, set zero |
[in] | option | - unknown |
[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 | - unknown |
[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 | - unknown |
[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 | - unknown |
[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] | pid | - target pid |
[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] | modid | - 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 | ) |