Editing PRX File Format

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
= Module Info =
= Module Info =


== sceModuleInfo_common struct ==
== sceModuleInfo_common ==


<pre>
<pre>
short unsigned int modattribute;  
short unsigned int modattribute; /* bitsize 16, bitpos 0 */
unsigned char modversion[2]:uint32;  
unsigned char modversion[2]:uint32; /* bitsize 16, bitpos 16 */
char modname[26]:uint32;  
char modname[26]:uint32; /* bitsize 208, bitpos 32 */
char terminal;  
char terminal; /* bitsize 8, bitpos 240 */
char infoversion;  
char infoversion; /* bitsize 8, bitpos 248 */
</pre>
</pre>


== sceModuleInfo_prx2arm struct ==
== sceModuleInfo_prx2arm ==


<pre>
<pre>
sceModuleInfo_common c;  
sceModuleInfo_common c; /* bitsize 256, bitpos 0 */
Elf32_Addr resreve;  
Elf32_Addr resreve; /* bitsize 32, bitpos 256 */
Elf32_Addr ent_top;  
Elf32_Addr ent_top; /* bitsize 32, bitpos 288 */
Elf32_Addr ent_end;  
Elf32_Addr ent_end; /* bitsize 32, bitpos 320 */
Elf32_Addr stub_top;  
Elf32_Addr stub_top; /* bitsize 32, bitpos 352 */
Elf32_Addr stub_end;  
Elf32_Addr stub_end; /* bitsize 32, bitpos 384 */
Elf32_Word dbg_fingerprint;  
Elf32_Word dbg_fingerprint; /* bitsize 32, bitpos 416 */
Elf32_Addr tls_top;  
Elf32_Addr tls_top; /* bitsize 32, bitpos 448 */
Elf32_Addr tls_filesz;  
Elf32_Addr tls_filesz; /* bitsize 32, bitpos 480 */
Elf32_Addr tls_memsz;  
Elf32_Addr tls_memsz; /* bitsize 32, bitpos 512 */
Elf32_Addr start_entry;  
Elf32_Addr start_entry; /* bitsize 32, bitpos 544 */
Elf32_Addr stop_entry;  
Elf32_Addr stop_entry; /* bitsize 32, bitpos 576 */
Elf32_Addr arm_exidx_top;  
Elf32_Addr arm_exidx_top; /* bitsize 32, bitpos 608 */
Elf32_Addr arm_exidx_end;  
Elf32_Addr arm_exidx_end; /* bitsize 32, bitpos 640 */
Elf32_Addr arm_extab_top;  
Elf32_Addr arm_extab_top; /* bitsize 32, bitpos 672 */
Elf32_Addr arm_extab_end;  
Elf32_Addr arm_extab_end; /* bitsize 32, bitpos 704 */
</pre>
</pre>


= Exports =
= Exports =


== sceKernelLibraryEntryTable_prx2_common struct ==
== sceKernelLibraryEntryTable_prx2_common ==


<pre>
<pre>
unsigned char structsize;  
unsigned char structsize; /* bitsize 8, bitpos 0 */
unsigned char reserved1[1]:uint32;  
unsigned char reserved1[1]:uint32; /* bitsize 8, bitpos 8 */
short unsigned int version;  
short unsigned int version; /* bitsize 16, bitpos 16 */
short unsigned int attribute;  
short unsigned int attribute; /* bitsize 16, bitpos 32 */
short unsigned int nfunc;  
short unsigned int nfunc; /* bitsize 16, bitpos 48 */
short unsigned int nvar;  
short unsigned int nvar; /* bitsize 16, bitpos 64 */
short unsigned int ntlsvar;  
short unsigned int ntlsvar; /* bitsize 16, bitpos 80 */
unsigned char hashinfo;  
unsigned char hashinfo; /* bitsize 8, bitpos 96 */
unsigned char hashinfotls;  
unsigned char hashinfotls; /* bitsize 8, bitpos 104 */
unsigned char reserved2[1]:uint32;  
unsigned char reserved2[1]:uint32; /* bitsize 8, bitpos 112 */
unsigned char nidaltsets;  
unsigned char nidaltsets; /* bitsize 8, bitpos 120 */
</pre>
</pre>


== sceKernelLibraryEntryTable_prx2arm struct ==
== sceKernelLibraryEntryTable_prx2arm ==


<pre>
<pre>
sceKernelLibraryEntryTable_prx2_common c;  
sceKernelLibraryEntryTable_prx2_common c; /* bitsize 128, bitpos 0 */
Elf32_Word libname_nid;  
Elf32_Word libname_nid; /* bitsize 32, bitpos 128 */
Elf32_Addr libname;  
Elf32_Addr libname; /* bitsize 32, bitpos 160 */
Elf32_Addr nidtable;  
Elf32_Addr nidtable; /* bitsize 32, bitpos 192 */
Elf32_Addr addtable;  
Elf32_Addr addtable; /* bitsize 32, bitpos 224 */
</pre>
</pre>


= Imports =
= Imports =


== sceKernelLibraryStubTable_prx2_common struct ==
== sceKernelLibraryStubTable_prx2_common ==


<pre>
<pre>
unsigned char structsize;  
unsigned char structsize; /* bitsize 8, bitpos 0 */
unsigned char reserved1[1]:uint32;  
unsigned char reserved1[1]:uint32; /* bitsize 8, bitpos 8 */
short unsigned int version;  
short unsigned int version; /* bitsize 16, bitpos 16 */
short unsigned int attribute;  
short unsigned int attribute; /* bitsize 16, bitpos 32 */
short unsigned int nfunc;  
short unsigned int nfunc; /* bitsize 16, bitpos 48 */
short unsigned int nvar;  
short unsigned int nvar; /* bitsize 16, bitpos 64 */
short unsigned int ntlsvar;  
short unsigned int ntlsvar; /* bitsize 16, bitpos 80 */
unsigned char reserved2[4]:uint32;  
unsigned char reserved2[4]:uint32; /* bitsize 32, bitpos 96 */
</pre>
 
== sceKernelLibraryStubTable_prx2arm struct ==
 
<pre>
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;
</pre>
</pre>
Please note that all contributions to Vita Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see Vita Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)