6#ifndef _PSP2COMMON_KERNEL_MODULEMGR_H_
7#define _PSP2COMMON_KERNEL_MODULEMGR_H_
20#define SCE_KERNEL_START_SUCCESS (0)
21#define SCE_KERNEL_START_RESIDENT SCE_KERNEL_START_SUCCESS
22#define SCE_KERNEL_START_NO_RESIDENT (1)
23#define SCE_KERNEL_START_FAILED (2)
25#define SCE_KERNEL_STOP_SUCCESS (0)
26#define SCE_KERNEL_STOP_FAIL (1)
27#define SCE_KERNEL_STOP_CANCEL SCE_KERNEL_STOP_FAIL
30#define SCE_MODULE_ATTR_NONE (0x0000)
31#define SCE_KERNEL_MODULE_ATTR_NONE SCE_MODULE_ATTR_NONE
#define VITASDK_BUILD_ASSERT_EQ(__size__, __name__)
Definition build_utils.h:13
SceSize number_of_imported
Legacy name for client_count.
Definition modulemgr.h:154
SceKernelSystemSwVersion SceKernelFwInfo
Definition modulemgr.h:139
uint32_t libnid
Definition modulemgr.h:144
SceSize size
Size of this structure.
Definition modulemgr.h:74
SceSize size
sizeof(SceKernelModuleLibraryInfo) : 0x120
Definition modulemgr.h:142
uint16_t modattr
Module attributes.
Definition modulemgr.h:100
SceUInt unk_24
Definition modulemgr.h:134
uint8_t modver[2]
Module version.
Definition modulemgr.h:101
char library_name[0x100]
Definition modulemgr.h:151
SceUID modid2
Legacy name for owner_module_id.
Definition modulemgr.h:158
char module_name[28]
Module name; zero the structure first to ensure NUL termination.
Definition modulemgr.h:102
SceSize tlsAreaSize
Total TLS area size.
Definition modulemgr.h:113
SceUInt res
unused
Definition modulemgr.h:85
void * extab_btm
End of the ARM exception table.
Definition modulemgr.h:110
uint16_t entry_num_variable
Definition modulemgr.h:148
void * start_entry
Module start entry point.
Definition modulemgr.h:104
char path[256]
Module path.
Definition modulemgr.h:114
SceSize size
Definition modulemgr.h:121
void * exit_entry
Module exit entry point.
Definition modulemgr.h:106
void * stop_entry
Module stop entry point.
Definition modulemgr.h:105
SceSize size
Size of this structure.
Definition modulemgr.h:80
void * exidx_top
Start of the ARM exception index table.
Definition modulemgr.h:107
SceUID library_id
Definition modulemgr.h:143
SceUInt32 reserved[3]
Copied from user memory but unused on FW 3.60; initialize to 0.
Definition modulemgr.h:75
SceSize size
Size of this structure; left unchanged by the FW 3.60 kernel APIs.
Definition modulemgr.h:98
SceSize memsz
Segment size in memory.
Definition modulemgr.h:83
SceUInt unk28
Definition modulemgr.h:103
uint16_t unk_0x16
Definition modulemgr.h:150
SceSize size
Size of this structure.
Definition modulemgr.h:68
SceUID modid
Module identifier.
Definition modulemgr.h:99
uint16_t unk_0x14
Definition modulemgr.h:149
SceKernelModuleState
Definition modulemgr.h:33
SceSize size
Definition modulemgr.h:131
void * exidx_btm
End of the ARM exception index table.
Definition modulemgr.h:108
SceUInt perms
Access-permission byte combined with a loader metadata byte shifted left by 20 on FW 3....
Definition modulemgr.h:81
char versionString[0x1C]
Definition modulemgr.h:132
SceSize size
Definition modulemgr.h:126
void * vaddr
Segment virtual address.
Definition modulemgr.h:82
SceSize client_count
Number of modules importing this library.
Definition modulemgr.h:153
SceSize filesz
Segment size in the module file.
Definition modulemgr.h:84
SceUInt version
Definition modulemgr.h:133
SceKernelSegmentInfo segments[4]
Information for up to four mapped segments.
Definition modulemgr.h:115
uint16_t entry_num_function
Definition modulemgr.h:147
uint16_t flags
Definition modulemgr.h:146
uint16_t version
Definition modulemgr.h:145
SceUInt state
One of SceKernelModuleState.
Definition modulemgr.h:116
void * tlsInit
TLS initialization image.
Definition modulemgr.h:111
SceSize tlsInitSize
Size of the TLS initialization image.
Definition modulemgr.h:112
void * extab_top
Start of the ARM exception table.
Definition modulemgr.h:109
SceUID owner_module_id
ID of the module that owns the library.
Definition modulemgr.h:157
SceUInt32 reserved[3]
Copied from user memory but unused on FW 3.60; initialize to 0.
Definition modulemgr.h:69
SceKernelPreloadInhibit
Definition modulemgr.h:53
@ SCE_KERNEL_MODULE_STATE_READY
Definition modulemgr.h:34
@ SCE_KERNEL_MODULE_STATE_STARTED
Definition modulemgr.h:35
@ SCE_KERNEL_MODULE_STATE_ENDED
Definition modulemgr.h:36
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBPERF
Definition modulemgr.h:63
@ SCE_KERNEL_PRELOAD_INHIBIT_APPUTIL
Definition modulemgr.h:60
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBSHELLSVC
Definition modulemgr.h:57
@ SCE_KERNEL_PRELOAD_INHIBIT_NONE
Definition modulemgr.h:54
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBC
Definition modulemgr.h:55
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBFIOS2
Definition modulemgr.h:59
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBDBG
Definition modulemgr.h:56
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBSCEFT2
Definition modulemgr.h:61
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBPVF
Definition modulemgr.h:62
@ SCE_KERNEL_PRELOAD_INHIBIT_LIBCDLG
Definition modulemgr.h:58
Definition modulemgr.h:120
Information about a loaded module.
Definition modulemgr.h:97
Definition modulemgr.h:141
Definition modulemgr.h:79
Definition modulemgr.h:67
Definition modulemgr.h:73
Definition modulemgr.h:130
Definition modulemgr.h:125
unsigned int SceSize
Definition types.h:56
uint32_t SceUInt
Definition types.h:48
int SceUID
UIDs are used to describe many different kernel objects.
Definition types.h:90
uint32_t SceUInt32
Definition types.h:45