vitasdk
Documentation of the vitasdk

Detailed Description

Exports for Kernel.


Using this library in your project

Include the header file in your project:




Using this library in your project

Include the header file in your project:


Link the library to the executable:

SceModulemgrForKernel_stub



Functions

 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. More...
 
void ksceKernelRegisterModulesAfterBoot (void)
 Setup kernel for modulemgr. More...
 
int ksceKernelGetModuleList (SceUID pid, int flags1, int flags2, SceUID *modids, SceSize *num)
 Get module id list. More...
 
int ksceKernelGetModuleInfoForDebugger (SceUID pid, SceKernelModuleListInfo *infolists, SceSize *num)
 
int ksceKernelGetModuleInfo (SceUID pid, SceUID modid, SceKernelModuleInfo *info)
 Get module info. More...
 
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. More...
 
int ksceKernelGetModuleCB (SceUID modid, void **info)
 Get module info (internal) More...
 
int ksceKernelGetModuleCBByAddr (SceUID pid, const void *module_addr, void **info)
 Get module info by address (internal) More...
 
SceUID ksceKernelGetModuleIdByAddrForDebugger (SceUID pid, const void *module_addr)
 Get module id by module address. More...
 
SceUID ksceKernelSearchModuleByName (const char *module_name)
 search kernel module by module name More...
 
int ksceKernelGetSystemSwVersion (SceKernelFwInfo *data)
 Get fw info. More...
 
SceUID ksceKernelLoadModule (const char *path, int flags, SceKernelLMOption *option)
 load module (kernel only) More...
 
int ksceKernelStartModule (SceUID modid, SceSize args, void *argp, int flags, SceKernelLMOption *option, int *status)
 start module (kernel only) More...
 
SceUID ksceKernelLoadStartModule (const char *path, SceSize args, void *argp, int flags, SceKernelLMOption *option, int *status)
 load and start module (kernel only) More...
 
int ksceKernelStopModule (SceUID modid, SceSize args, void *argp, int flags, SceKernelULMOption *option, int *status)
 stop module (kernel only) More...
 
int ksceKernelUnloadModule (SceUID modid, int flags, SceKernelULMOption *option)
 unload module (kernel only) More...
 
int ksceKernelStopUnloadModule (SceUID modid, SceSize args, void *argp, int flags, SceKernelULMOption *option, int *status)
 stop and unload module (kernel only) More...
 
SceUID ksceKernelLoadModuleForPid (SceUID pid, const char *path, int flags, SceKernelLMOption *option)
 load module More...
 
int ksceKernelStartModuleForPid (SceUID pid, SceUID modid, SceSize args, void *argp, int flags, SceKernelLMOption *option, int *status)
 start module More...
 
SceUID ksceKernelLoadStartModuleForPid (SceUID pid, const char *path, SceSize args, void *argp, int flags, SceKernelLMOption *option, int *status)
 load and start module More...
 
int ksceKernelStopModuleForPid (SceUID pid, SceUID modid, SceSize args, void *argp, int flags, SceKernelULMOption *option, int *status)
 stop module More...
 
int ksceKernelUnloadModuleForPid (SceUID pid, SceUID modid, int flags, SceKernelULMOption *option)
 unload module More...
 
int ksceKernelStopUnloadModuleForPid (SceUID pid, SceUID modid, SceSize args, void *argp, int flags, SceKernelULMOption *option, int *status)
 stop and unload module More...
 
SceUID ksceKernelLoadStartSharedModuleForPid (SceUID pid, const char *path, SceSize args, void *argp, int flags, SceKernelLMOption *option, int *status)
 load and start module as shared module More...
 
int ksceKernelStopUnloadSharedModuleForPid (SceUID pid, SceUID modid, SceSize args, void *argp, int flags, SceKernelULMOption *option, int *status)
 stop and unload module as shared module More...
 
int ksceKernelMountBootfs (const char *bootImagePath)
 mount bootfs (load bootfs module) More...
 
int ksceKernelUmountBootfs (void)
 unmount bootfs (unload bootfs module) More...
 
SceUID ksceKernelGetModuleIdByPid (SceUID pid)
 Get the main module id for a given process. More...
 
int ksceKernelGetModulePath (SceUID modid, char *path, SceSize pathlen)
 Get the module path. More...
 
int ksceKernelGetLibraryInfoForDebugger (SceUID pid, SceUID library_id, SceKernelModuleLibraryInfo *info)
 Get library info. More...
 
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 ksceKernelGetLibraryList (SceUID pid, SceUID *library_ids, 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)
 
int ksceKernelGetLostLibraryList (SceUID pid, void *a2, SceSize *num)
 
int ksceKernelGetLostLibraryListInModule (SceUID pid, SceUID modid, void *pList, SceSize *num)
 
int ksceKernelGetMetaDataForDebugger (SceUID pid, SceUID uModuleId, void **start, void **stop)
 
void * ksceKernelGetModuleEntryPoint (SceUID modid)
 
int ksceKernelGetModuleFingerprint (SceUID moduleId, SceUInt32 *pFingerprint)
 
int ksceKernelGetModuleIsSharedByAddr (SceUID pid, void *addr)
 
int ksceKernelGetProgramIdentificationInfo (const char *path, SceUInt64 *pAuthid, SceSelfAppInfo *pInfo)
 
int ksceKernelGetStubInfoForDebugger (SceUID pid, SceUID stubid, void *a3)
 
int ksceKernelGetStubList (SceUID pid, SceUID *stub, SceSize *num)
 
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)
 

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
 

Data Structure Documentation

◆ SceKernelSegmentInfo

struct SceKernelSegmentInfo
Data Fields
SceSize size this structure size (0x18)
SceUInt perms probably rwx in low bits
void * vaddr address in memory
SceSize memsz size in memory
SceSize filesz original size of memsz
SceUInt res unused

◆ SceKernelModuleInfo

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

◆ SceKernelLMOption

struct SceKernelLMOption
Data Fields
SceSize size

◆ SceKernelULMOption

struct SceKernelULMOption
Data Fields
SceSize size

◆ SceKernelSystemSwVersion

struct SceKernelSystemSwVersion
Data Fields
SceSize size
char versionString[0x1C]
SceUInt version
SceUInt unk_24

◆ SceKernelModuleLibraryInfo

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]
SceSize number_of_imported
SceUID modid2

◆ SceKernelModuleName

struct SceKernelModuleName
Data Fields
char s[0x1C]

◆ SceKernelSegmentInfo2

struct SceKernelSegmentInfo2
Data Fields
SceSize size sizeof(SceKernelSegmentInfo2) (0x14)
int perm
void * vaddr
uint32_t memsz
int unk_10

◆ SceKernelModuleListInfo

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__

◆ SceKernelModuleExportEntry

struct SceKernelModuleExportEntry
Data Fields
SceNID libnid
void * entry

◆ SceKernelModuleImportNonlinkedInfo

struct SceKernelModuleImportNonlinkedInfo
Data Fields
SceSize size
SceUID modid
SceNID libnid
char libname[0x100]
int data_0x10C
int data_0x110
int data_0x114
int data_0x118
int data_0x11C
int data_0x120

◆ SceSelfAppInfo

struct SceSelfAppInfo
Data Fields
int vendor_id
int self_type

◆ SceLoadProcessParam

struct SceLoadProcessParam
Data Fields
SceUInt32 sysver
char thread_name[0x20]
SceUInt32 initial_thread_priority
SceSize initial_thread_stack_size
SceUInt32 unk_0x2C
SceUInt32 unk_0x30
SceKernelThreadOptParam threadOptParam
int unk_0x50
char process_name[0x20]
SceUInt32 preload_disabled
void * module_proc_param

◆ SceKernelFunctionShimInfo

struct SceKernelFunctionShimInfo
Data Fields
SceNID replaced_function_nid NID of the function that needs to be replaced.
SceNID replacing_function_nid NID of the function that will serve as a replacement - must probably come from same library as replaced function.

◆ SceKernelLibraryShimInfo

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

◆ SceKernelCompatibilityShimInfo

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

◆ SceKernelModuleListInfo.__unnamed26__

union SceKernelModuleListInfo.__unnamed26__
Data Fields
__unnamed26__ seg1
__unnamed26__ seg2
__unnamed26__ seg3
__unnamed26__ seg4

◆ SceKernelModuleListInfo.__unnamed26__.seg1

struct SceKernelModuleListInfo.__unnamed26__.seg1
Data Fields
SceKernelSegmentInfo2 SegmentInfo[1]
uint32_t addr[4]

◆ SceKernelModuleListInfo.__unnamed26__.seg2

struct SceKernelModuleListInfo.__unnamed26__.seg2
Data Fields
SceKernelSegmentInfo2 SegmentInfo[2]
uint32_t addr[4]

◆ SceKernelModuleListInfo.__unnamed26__.seg3

struct SceKernelModuleListInfo.__unnamed26__.seg3
Data Fields
SceKernelSegmentInfo2 SegmentInfo[3]
uint32_t addr[4]

◆ SceKernelModuleListInfo.__unnamed26__.seg4

struct SceKernelModuleListInfo.__unnamed26__.seg4
Data Fields
SceKernelSegmentInfo2 SegmentInfo[4]
uint32_t addr[4]

Macro Definition Documentation

◆ SCE_KERNEL_START_SUCCESS

#define SCE_KERNEL_START_SUCCESS   (0)

Return values for plugins module_start and module_stop

◆ SCE_KERNEL_START_RESIDENT

#define SCE_KERNEL_START_RESIDENT   SCE_KERNEL_START_SUCCESS

◆ SCE_KERNEL_START_NO_RESIDENT

#define SCE_KERNEL_START_NO_RESIDENT   (1)

◆ SCE_KERNEL_START_FAILED

#define SCE_KERNEL_START_FAILED   (2)

◆ SCE_KERNEL_STOP_SUCCESS

#define SCE_KERNEL_STOP_SUCCESS   (0)

◆ SCE_KERNEL_STOP_FAIL

#define SCE_KERNEL_STOP_FAIL   (1)

◆ SCE_KERNEL_STOP_CANCEL

#define SCE_KERNEL_STOP_CANCEL   SCE_KERNEL_STOP_FAIL

◆ ksceKernelGetModuleInternal

#define ksceKernelGetModuleInternal   ksceKernelGetModuleCB

◆ ksceKernelGetProcessMainModule

#define ksceKernelGetProcessMainModule   ksceKernelGetModuleIdByPid

Typedef Documentation

◆ SceKernelFwInfo

Enumeration Type Documentation

◆ SceKernelModuleState

Enumerator
SCE_KERNEL_MODULE_STATE_READY 
SCE_KERNEL_MODULE_STATE_STARTED 
SCE_KERNEL_MODULE_STATE_ENDED 

◆ SceKernelPreloadInhibit

Enumerator
SCE_KERNEL_PRELOAD_INHIBIT_NONE 
SCE_KERNEL_PRELOAD_INHIBIT_LIBC 
SCE_KERNEL_PRELOAD_INHIBIT_LIBDBG 
SCE_KERNEL_PRELOAD_INHIBIT_LIBSHELLSVC 
SCE_KERNEL_PRELOAD_INHIBIT_LIBCDLG 
SCE_KERNEL_PRELOAD_INHIBIT_LIBFIOS2 
SCE_KERNEL_PRELOAD_INHIBIT_APPUTIL 
SCE_KERNEL_PRELOAD_INHIBIT_LIBSCEFT2 
SCE_KERNEL_PRELOAD_INHIBIT_LIBPVF 
SCE_KERNEL_PRELOAD_INHIBIT_LIBPERF 

Function Documentation

◆ VITASDK_BUILD_ASSERT_EQ() [1/17]

VITASDK_BUILD_ASSERT_EQ ( ,
SceKernelPreloadInhibit   
)

◆ VITASDK_BUILD_ASSERT_EQ() [2/17]

VITASDK_BUILD_ASSERT_EQ ( 0x18  ,
SceKernelSegmentInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [3/17]

VITASDK_BUILD_ASSERT_EQ ( 0x1B8  ,
SceKernelModuleInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [4/17]

VITASDK_BUILD_ASSERT_EQ ( ,
SceKernelLMOption   
)

◆ VITASDK_BUILD_ASSERT_EQ() [5/17]

VITASDK_BUILD_ASSERT_EQ ( ,
SceKernelULMOption   
)

◆ VITASDK_BUILD_ASSERT_EQ() [6/17]

VITASDK_BUILD_ASSERT_EQ ( 0x28  ,
SceKernelSystemSwVersion   
)

◆ VITASDK_BUILD_ASSERT_EQ() [7/17]

VITASDK_BUILD_ASSERT_EQ ( 0x120  ,
SceKernelModuleLibraryInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [8/17]

VITASDK_BUILD_ASSERT_EQ ( 0x1C  ,
SceKernelModuleName   
)

◆ VITASDK_BUILD_ASSERT_EQ() [9/17]

VITASDK_BUILD_ASSERT_EQ ( 0x14  ,
SceKernelSegmentInfo2   
)

◆ VITASDK_BUILD_ASSERT_EQ() [10/17]

VITASDK_BUILD_ASSERT_EQ ( 0xB0  ,
SceKernelModuleListInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [11/17]

VITASDK_BUILD_ASSERT_EQ ( ,
SceKernelModuleExportEntry   
)

◆ VITASDK_BUILD_ASSERT_EQ() [12/17]

VITASDK_BUILD_ASSERT_EQ ( 0x124  ,
SceKernelModuleImportNonlinkedInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [13/17]

VITASDK_BUILD_ASSERT_EQ ( ,
SceSelfAppInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [14/17]

VITASDK_BUILD_ASSERT_EQ ( 0x7C  ,
SceLoadProcessParam   
)

◆ VITASDK_BUILD_ASSERT_EQ() [15/17]

VITASDK_BUILD_ASSERT_EQ ( ,
SceKernelFunctionShimInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [16/17]

VITASDK_BUILD_ASSERT_EQ ( 0x10  ,
SceKernelLibraryShimInfo   
)

◆ VITASDK_BUILD_ASSERT_EQ() [17/17]

VITASDK_BUILD_ASSERT_EQ ( 0x10  ,
SceKernelCompatibilityShimInfo   
)

◆ ksceKernelRegisterSyscall()

void ksceKernelRegisterSyscall ( SceSize  syscall_id,
const void *  func 
)

Register syscall function.

Parameters
[in]syscall_id- register syscall id (Must be less than 0x1000)
[in]func- syscall function
Returns
none

◆ ksceKernelRegisterModulesAfterBoot()

void ksceKernelRegisterModulesAfterBoot ( void  )

Setup kernel for modulemgr.

Note
- allocate and initialize syscall table
Returns
none

◆ ksceKernelGetModuleList()

int ksceKernelGetModuleList ( SceUID  pid,
int  flags1,
int  flags2,
SceUID modids,
SceSize num 
)

Get module id list.

Parameters
[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
Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleInfoForDebugger()

int ksceKernelGetModuleInfoForDebugger ( SceUID  pid,
SceKernelModuleListInfo infolists,
SceSize num 
)
Example1: Get max to 10 kernel module info
size_t num = 10;// Get max
uint32_t offset = 0;
SceKernelModuleListInfo *info = &infolists[0];
ksceKernelGetModuleInfoForDebugger(0x10005, infolists, &num);
for(int i=0;i<num;i++){
printf("name : %s\n", info->module_name);
if(info->segments_num == 1){
printf("vaddr:0x%08X\n", info->seg1.SegmentInfo[0].vaddr);
}else if(info->segments_num == 2){
printf("vaddr:0x%08X\n", info->seg2.SegmentInfo[0].vaddr);
}
info = ((char *)info) + info->size;
}
SceSize size
Definition: modulemgr.h:33
char module_name[28]
Definition: modulemgr.h:42
int ksceKernelGetModuleInfoForDebugger(SceUID pid, SceKernelModuleListInfo *infolists, SceSize *num)
SceSize segments_num
Definition: modulemgr.h:46
Definition: modulemgr.h:32
Parameters
[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
Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleInfo()

int ksceKernelGetModuleInfo ( SceUID  pid,
SceUID  modid,
SceKernelModuleInfo info 
)

Get module info.

Parameters
[in]pid- target pid
[in]modid- target module id
[out]info- info output pointer
Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleInfoMinByAddr()

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.

Parameters
[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
Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleCB()

int ksceKernelGetModuleCB ( SceUID  modid,
void **  info 
)

Get module info (internal)

Parameters
[in]modid- target module id
[out]info- module_info output pointer
Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleCBByAddr()

int ksceKernelGetModuleCBByAddr ( SceUID  pid,
const void *  module_addr,
void **  info 
)

Get module info by address (internal)

Parameters
[in]pid- target process id
[in]module_addr- target module address
[out]info- module_info output pointer
Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleIdByAddrForDebugger()

SceUID ksceKernelGetModuleIdByAddrForDebugger ( SceUID  pid,
const void *  module_addr 
)

Get module id by module address.

Parameters
[in]pid- target pid
[in]module_addr- target module address
Returns
modid on success, < 0 on error.

◆ ksceKernelSearchModuleByName()

SceUID ksceKernelSearchModuleByName ( const char *  module_name)

search kernel module by module name

Parameters
[in]module_name- target module name
Returns
modid on success, < 0 on error.

◆ ksceKernelGetSystemSwVersion()

int ksceKernelGetSystemSwVersion ( SceKernelFwInfo data)

Get fw info.

Parameters
[out]data- fw info output pointer
Returns
0 on success, < 0 on error.

◆ ksceKernelLoadModule()

SceUID ksceKernelLoadModule ( const char *  path,
int  flags,
SceKernelLMOption option 
)

load module (kernel only)

Parameters
[in]path- module path
[in]flags- unknown, set zero
[in]option- unknown
Returns
modid on success, < 0 on error.

◆ ksceKernelStartModule()

int ksceKernelStartModule ( SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelLMOption option,
int *  status 
)

start module (kernel only)

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelLoadStartModule()

SceUID ksceKernelLoadStartModule ( const char *  path,
SceSize  args,
void *  argp,
int  flags,
SceKernelLMOption option,
int *  status 
)

load and start module (kernel only)

Parameters
[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...
Returns
modid on success, < 0 on error.

◆ ksceKernelStopModule()

int ksceKernelStopModule ( SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelULMOption option,
int *  status 
)

stop module (kernel only)

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelUnloadModule()

int ksceKernelUnloadModule ( SceUID  modid,
int  flags,
SceKernelULMOption option 
)

unload module (kernel only)

Parameters
[in]modid- target module id
[in]flags- unknown, set zero
[in]option- unknown
Returns
0 on success, < 0 on error.

◆ ksceKernelStopUnloadModule()

int ksceKernelStopUnloadModule ( SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelULMOption option,
int *  status 
)

stop and unload module (kernel only)

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelLoadModuleForPid()

SceUID ksceKernelLoadModuleForPid ( SceUID  pid,
const char *  path,
int  flags,
SceKernelLMOption option 
)

load module

Parameters
[in]pid- target pid
[in]path- module path
[in]flags- unknown, set zero
[in]option- unknown
Returns
modid on success, < 0 on error.

◆ ksceKernelStartModuleForPid()

int ksceKernelStartModuleForPid ( SceUID  pid,
SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelLMOption option,
int *  status 
)

start module

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelLoadStartModuleForPid()

SceUID ksceKernelLoadStartModuleForPid ( SceUID  pid,
const char *  path,
SceSize  args,
void *  argp,
int  flags,
SceKernelLMOption option,
int *  status 
)

load and start module

Parameters
[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...
Returns
modid on success, < 0 on error.

◆ ksceKernelStopModuleForPid()

int ksceKernelStopModuleForPid ( SceUID  pid,
SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelULMOption option,
int *  status 
)

stop module

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelUnloadModuleForPid()

int ksceKernelUnloadModuleForPid ( SceUID  pid,
SceUID  modid,
int  flags,
SceKernelULMOption option 
)

unload module

Parameters
[in]pid- target pid
[in]modid- target module id
[in]flags- unknown, set zero
[in]option- unknown
Returns
0 on success, < 0 on error.

◆ ksceKernelStopUnloadModuleForPid()

int ksceKernelStopUnloadModuleForPid ( SceUID  pid,
SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelULMOption option,
int *  status 
)

stop and unload module

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelLoadStartSharedModuleForPid()

SceUID ksceKernelLoadStartSharedModuleForPid ( SceUID  pid,
const char *  path,
SceSize  args,
void *  argp,
int  flags,
SceKernelLMOption option,
int *  status 
)

load and start module as shared module

Parameters
[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...
Returns
modid on success, < 0 on error.

◆ ksceKernelStopUnloadSharedModuleForPid()

int ksceKernelStopUnloadSharedModuleForPid ( SceUID  pid,
SceUID  modid,
SceSize  args,
void *  argp,
int  flags,
SceKernelULMOption option,
int *  status 
)

stop and unload module as shared module

Parameters
[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...
Returns
0 on success, < 0 on error.

◆ ksceKernelMountBootfs()

int ksceKernelMountBootfs ( const char *  bootImagePath)

mount bootfs (load bootfs module)

Parameters
[in]bootImagePath- bootfs module path
Returns
0 on success, < 0 on error.

◆ ksceKernelUmountBootfs()

int ksceKernelUmountBootfs ( void  )

unmount bootfs (unload bootfs module)

Returns
0 on success, < 0 on error.

◆ ksceKernelGetModuleIdByPid()

SceUID ksceKernelGetModuleIdByPid ( SceUID  pid)

Get the main module id for a given process.

Parameters
pidThe process to query.
Returns
the UID of the module else < 0 for an error.

◆ ksceKernelGetModulePath()

int ksceKernelGetModulePath ( SceUID  modid,
char *  path,
SceSize  pathlen 
)

Get the module path.

Parameters
[in]pid- target pid
[out]path- module path output
[in]pathlen- path output max len
Returns
0 on success, < 0 on error.

◆ ksceKernelGetLibraryInfoForDebugger()

int ksceKernelGetLibraryInfoForDebugger ( SceUID  pid,
SceUID  library_id,
SceKernelModuleLibraryInfo info 
)

Get library info.

Parameters
[in]pid- target pid
[in]modid- target library id
[out]info- info output
Returns
0 on success, < 0 on error.

◆ ksceKernelFinalizeKbl()

void ksceKernelFinalizeKbl ( void  )

◆ ksceKernelGetExportedLibraryListInModule()

int ksceKernelGetExportedLibraryListInModule ( SceUID  pid,
SceUID  modid,
SceUID library_ids,
SceSize num 
)

◆ ksceKernelGetImportedLibraryListInModule()

int ksceKernelGetImportedLibraryListInModule ( SceUID  pid,
SceUID  modid,
SceUID library_ids,
SceSize num 
)

◆ ksceKernelGetLibEntCBListForSyslibtrace()

int ksceKernelGetLibEntCBListForSyslibtrace ( void **  ppList,
SceSize num 
)

◆ ksceKernelGetLibraryList()

int ksceKernelGetLibraryList ( SceUID  pid,
SceUID library_ids,
SceSize num 
)

◆ ksceKernelGetLibraryClientList()

int ksceKernelGetLibraryClientList ( SceUID  pid,
SceUID  library_id,
SceUID modids,
SceSize num,
SceSize  cpy_skip_num 
)

◆ ksceKernelGetLibraryDBFlags()

int ksceKernelGetLibraryDBFlags ( SceUID  pid,
int *  pFlags 
)

◆ ksceKernelGetLibraryExportInfoForDebugger()

int ksceKernelGetLibraryExportInfoForDebugger ( SceUID  pid,
SceUID  library_id,
SceKernelModuleExportEntry list,
SceSize num,
SceSize  cpy_skip_num 
)

◆ ksceKernelGetLostLibraryInfo()

int ksceKernelGetLostLibraryInfo ( SceUID  pid,
SceUID  modid,
SceNID  libnid,
SceKernelModuleImportNonlinkedInfo info 
)

◆ ksceKernelGetLostLibraryList()

int ksceKernelGetLostLibraryList ( SceUID  pid,
void *  a2,
SceSize num 
)

◆ ksceKernelGetLostLibraryListInModule()

int ksceKernelGetLostLibraryListInModule ( SceUID  pid,
SceUID  modid,
void *  pList,
SceSize num 
)

◆ ksceKernelGetMetaDataForDebugger()

int ksceKernelGetMetaDataForDebugger ( SceUID  pid,
SceUID  uModuleId,
void **  start,
void **  stop 
)

◆ ksceKernelGetModuleEntryPoint()

void* ksceKernelGetModuleEntryPoint ( SceUID  modid)

◆ ksceKernelGetModuleFingerprint()

int ksceKernelGetModuleFingerprint ( SceUID  moduleId,
SceUInt32 pFingerprint 
)

◆ ksceKernelGetModuleIsSharedByAddr()

int ksceKernelGetModuleIsSharedByAddr ( SceUID  pid,
void *  addr 
)

◆ ksceKernelGetProgramIdentificationInfo()

int ksceKernelGetProgramIdentificationInfo ( const char *  path,
SceUInt64 pAuthid,
SceSelfAppInfo pInfo 
)

◆ ksceKernelGetStubInfoForDebugger()

int ksceKernelGetStubInfoForDebugger ( SceUID  pid,
SceUID  stubid,
void *  a3 
)

◆ ksceKernelGetStubList()

int ksceKernelGetStubList ( SceUID  pid,
SceUID stub,
SceSize num 
)

◆ ksceKernelGetStubNidTableForDebugger()

int ksceKernelGetStubNidTableForDebugger ( SceUID  pid,
SceUID  stubid,
void *  a3,
SceSize num,
SceSize  cpy_skip_num 
)

◆ ksceKernelLoadPreloadingModules()

int ksceKernelLoadPreloadingModules ( SceUID  pid,
const SceLoadProcessParam pParam,
int  flags 
)

◆ ksceKernelLoadProcessImage()

SceUID ksceKernelLoadProcessImage ( SceUID  pid,
const char *  path,
int  flags,
SceSelfAuthInfo auth_info,
SceLoadProcessParam param,
SceKernelCompatibilityShimInfo shim_info 
)

◆ ksceKernelLoadPtLoadSegForFwloader()

int ksceKernelLoadPtLoadSegForFwloader ( const char *  path,
int  e_phnum,
void *  buffer,
SceSize  bufsize,
int  zero_unk,
SceSize bytes_read 
)

◆ ksceKernelModuleUnloadMySelf()

int ksceKernelModuleUnloadMySelf ( void  )

◆ ksceKernelStartPreloadingModules()

int ksceKernelStartPreloadingModules ( SceUID  pid)

◆ ksceKernelUnloadProcessModules()

int ksceKernelUnloadProcessModules ( SceUID  pid)