PRX File Format

= Module Info =

sceModuleInfo_common struct
short unsigned int modattribute; unsigned char modversion[2]:uint32; char modname[26]:uint32; char terminal; char infoversion;

sceModuleInfo_prx2arm struct
sceModuleInfo_common c; Elf32_Addr resreve; Elf32_Addr ent_top; Elf32_Addr ent_end; Elf32_Addr stub_top; Elf32_Addr stub_end; Elf32_Word dbg_fingerprint; Elf32_Addr tls_top; Elf32_Addr tls_filesz; Elf32_Addr tls_memsz; Elf32_Addr start_entry; Elf32_Addr stop_entry; Elf32_Addr arm_exidx_top; Elf32_Addr arm_exidx_end; Elf32_Addr arm_extab_top; Elf32_Addr arm_extab_end;

= Exports =

sceKernelLibraryEntryTable_prx2_common struct
unsigned char structsize; unsigned char reserved1[1]:uint32; short unsigned int version; short unsigned int attribute; short unsigned int nfunc; short unsigned int nvar; short unsigned int ntlsvar; unsigned char hashinfo; unsigned char hashinfotls; unsigned char reserved2[1]:uint32; unsigned char nidaltsets;

sceKernelLibraryEntryTable_prx2arm struct
sceKernelLibraryEntryTable_prx2_common c; Elf32_Word libname_nid; Elf32_Addr libname; Elf32_Addr nidtable; Elf32_Addr addtable;

= Imports =

sceKernelLibraryStubTable_prx2_common struct
unsigned char structsize; unsigned char reserved1[1]:uint32; short unsigned int version; short unsigned int attribute; short unsigned int nfunc; short unsigned int nvar; short unsigned int ntlsvar; unsigned char reserved2[4]:uint32;

sceKernelLibraryStubTable_prx2arm struct
sceKernelLibraryStubTable_prx2_common c; Elf32_Word libname_nid; Elf32_Addr libname; Elf32_Word sce_sdk_version; Elf32_Addr func_nidtable; Elf32_Addr func_table; Elf32_Addr var_nidtable; Elf32_Addr var_table; Elf32_Addr tls_nidtable; Elf32_Addr tls_table;