struct SceLibraryEntryTable SceLibraryEntryTable
Defines a library and its exported functions and variables.
void sceKernelIcacheClearAll(void)
Invalidate the CPU's instruction cache.
s32(* SceKernelRebootBeforeForKernel)(void *arg1, s32 arg2, s32 arg3, s32 arg4)
Reboot preparation functions.
Definition psploadcore.h:31
s32(* SceKernelRebootPhaseForKernel)(s32 arg1, void *arg2, s32 arg3, s32 arg4)
Definition psploadcore.h:32
SceModule * sceKernelFindModuleByName(const char *modname)
Find a module by it's name.
SceModule * sceKernelFindModuleByAddress(unsigned int addr)
Find a module from an address.
SceModulePrivilegeLevel
Module Privilege Levels - These levels define the permissions a module can have.
Definition psploadcore.h:56
int sceKernelModuleCount(void)
Return the count of loaded modules.
SceModule * sceKernelFindModuleByUID(SceUID modid)
Find a module by it's UID.
struct SceModule SceModule
Describes a loaded module in memory.
SceModuleAttribute
Module type attributes.
Definition psploadcore.h:35
struct SceLibraryStubTable SceLibraryStubTable
Specifies a library and a set of imports from that library.
@ SCE_MODULE_KIRK_MEMLMD_LIB
The module uses KIRK's memlmd resident library.
Definition psploadcore.h:70
@ SCE_MODULE_VSH
VSH module.
Definition psploadcore.h:66
@ SCE_MODULE_MS
POPS/Demo.
Definition psploadcore.h:60
@ SCE_MODULE_APP
Application module.
Definition psploadcore.h:64
@ SCE_MODULE_USER
Lowest permission.
Definition psploadcore.h:58
@ SCE_MODULE_USB_WLAN
Module Gamesharing.
Definition psploadcore.h:62
@ SCE_MODULE_KERNEL
Highest permission.
Definition psploadcore.h:68
@ SCE_MODULE_KIRK_SEMAPHORE_LIB
The module uses KIRK's semaphore resident library.
Definition psploadcore.h:72
@ SCE_MODULE_ATTR_NONE
No module attributes.
Definition psploadcore.h:37
@ SCE_MODULE_ATTR_EXCLUSIVE_LOAD
Only one instance of the module (one version) can be loaded into the system.
Definition psploadcore.h:44
@ SCE_MODULE_ATTR_CANT_STOP
Resident module - stays in memory.
Definition psploadcore.h:39
@ SCE_MODULE_ATTR_EXCLUSIVE_START
Only one instance of the module (one version) can be started.
Definition psploadcore.h:49
unsigned int SceUInt
Definition pspkerneltypes.h:31
int SceUID
UIDs are used to describe many different kernel objects.
Definition pspkerneltypes.h:24
unsigned int SceSize
Definition psptypes.h:103
uint8_t u8
Definition psptypes.h:38
uint16_t u16
Definition psptypes.h:39
int32_t s32
Definition psptypes.h:47
int(* SceKernelThreadEntry)(SceSize args, void *argp)
Definition psptypes.h:431
uint32_t u32
Definition psptypes.h:41
Defines a library and its exported functions and variables.
Definition psploadcore.h:200
unsigned short attribute
Library attributes.
Definition psploadcore.h:206
void * entrytable
Pointer to the entry table; an array of NIDs followed by pointers to functions and variables.
Definition psploadcore.h:215
unsigned char vstubcount
The number of variables exported by the library.
Definition psploadcore.h:210
unsigned short stubcount
The number of functions exported by the library.
Definition psploadcore.h:212
unsigned char version[2]
Library version.
Definition psploadcore.h:204
unsigned char len
Length of this entry table in 32-bit WORDs.
Definition psploadcore.h:208
const char * libname
The library's name.
Definition psploadcore.h:202
Specifies a library and a set of imports from that library.
Definition psploadcore.h:220
unsigned char version[2]
Minimum required version of the library we want to import.
Definition psploadcore.h:224
const char * libname
Definition psploadcore.h:222
unsigned short stubcount
The number of functions imported from the library.
Definition psploadcore.h:232
void * vstubtable
Pointer to the imported variable stubs.
Definition psploadcore.h:238
unsigned short attribute
Definition psploadcore.h:226
unsigned char len
Length of this stub table in 32-bit WORDs.
Definition psploadcore.h:228
unsigned int * nidtable
Pointer to an array of NIDs.
Definition psploadcore.h:234
void * stubtable
Pointer to the imported function stubs.
Definition psploadcore.h:236
unsigned char vstubcount
The number of variables imported from the library.
Definition psploadcore.h:230
Describes a loaded module in memory.
Definition psploadcore.h:76
u32 segmentaddr[4]
An array containing the start address of each segment.
Definition psploadcore.h:161
SceUInt module_stop_thread_attr
The attributes of the module stop thread.
Definition psploadcore.h:177
char terminal
String terminator (always '\0').
Definition psploadcore.h:89
u32 text_addr
The start address of the TEXT segment.
Definition psploadcore.h:149
SceUID modid
The module's UID.
Definition psploadcore.h:99
u32 bss_size
The size of the BSS segment.
Definition psploadcore.h:155
SceUID mem_id
The ID of the memory block belonging to the module.
Definition psploadcore.h:103
SceSize ent_size
The size of all resident library entry tables of the module.
Definition psploadcore.h:111
u16 mod_state
The status of the module.
Definition psploadcore.h:94
u32 text_size
The size of the TEXT segment.
Definition psploadcore.h:151
u32 text_segment_checksum
TEXT segment checksum of the module.
Definition psploadcore.h:189
SceKernelThreadEntry module_bootstart
A pointer to a module's Bootstart entry function.
Definition psploadcore.h:130
char modname[27]
The module's name.
Definition psploadcore.h:87
u32 count_reg_val
The value of the coprocessor 0's count register when the module is created.
Definition psploadcore.h:185
SceKernelRebootBeforeForKernel module_reboot_before
A pointer to a module's rebootBefore entry function.
Definition psploadcore.h:135
u32 mpid_data
The ID of the DATA segment's memory partition.
Definition psploadcore.h:107
u8 padding2[3]
Reserved.
Definition psploadcore.h:159
u32 data_size
The size of the DATA segment.
Definition psploadcore.h:153
SceSize module_reboot_before_thread_stacksize
The stack size of the module reboot before thread.
Definition psploadcore.h:181
SceUInt module_reboot_before_thread_attr
The attributes of the module reboot before thread.
Definition psploadcore.h:183
void * stub_top
Pointer to the first stub library entry table of the module.
Definition psploadcore.h:113
u32 segmentalign[4]
An array containing the alignment information of each segment.
Definition psploadcore.h:165
SceUInt module_start_thread_attr
The attributes of the module start thread.
Definition psploadcore.h:171
s32 module_reboot_before_thread_priority
The priority of the module reboot before thread.
Definition psploadcore.h:179
SceSize stub_size
The size of all stub library entry tables of the module.
Definition psploadcore.h:115
u32 mpid_text
The ID of the TEXT segment's memory partition.
Definition psploadcore.h:105
u16 attribute
The attributes of a module.
Definition psploadcore.h:80
u32 gp_value
Contains the offset from the start of the TEXT segment of the program's GP register value.
Definition psploadcore.h:147
u32 segment_checksum
The segment checksum of the module's segments.
Definition psploadcore.h:187
SceUID sec_id
A secondary ID for the module.
Definition psploadcore.h:97
s32 module_start_thread_priority
The priority of the module start thread.
Definition psploadcore.h:167
SceSize segmentsize[4]
An array containing the size of each segment.
Definition psploadcore.h:163
SceKernelRebootPhaseForKernel module_reboot_phase
A pointer to a module's rebootPhase entry function.
Definition psploadcore.h:140
s32 module_stop_thread_priority
The priority of the module stop thread.
Definition psploadcore.h:173
SceSize module_start_thread_stacksize
The stack size of the module start thread.
Definition psploadcore.h:169
struct SceModule * next
Pointer to the next registered module.
Definition psploadcore.h:78
u8 nsegment
The number of segments the module consists of.
Definition psploadcore.h:157
u32 compute_text_segment_checksum
Whether to compute the text segment checksum before starting the module (see prologue).
Definition psploadcore.h:195
SceUID user_mod_thid
The thread ID of a user module.
Definition psploadcore.h:101
SceKernelThreadEntry module_start
A pointer to the (required) module's start entry function.
Definition psploadcore.h:120
void * ent_top
Pointer to the first resident library entry table of the module.
Definition psploadcore.h:109
SceKernelThreadEntry module_stop
A pointer to the (required) module's stop entry function.
Definition psploadcore.h:125
u32 entry_addr
The entry address of the module.
Definition psploadcore.h:145
u8 version[2]
The version of the module.
Definition psploadcore.h:85
SceSize module_stop_thread_stacksize
The stack size of the module stop thread.
Definition psploadcore.h:175
char padding[2]
Definition psploadcore.h:95