PRX File Format: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Module Info =
= Module Info =


== sceModuleInfo_common ==
== sceModuleInfo_common struct ==


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


== sceModuleInfo_prx2arm ==
== sceModuleInfo_prx2arm struct ==


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


= Exports =
= Exports =


== sceKernelLibraryEntryTable_prx2_common ==
== sceKernelLibraryEntryTable_prx2_common struct ==


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


== sceKernelLibraryEntryTable_prx2arm ==
== sceKernelLibraryEntryTable_prx2arm struct ==


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


= Imports =
= Imports =


== sceKernelLibraryStubTable_prx2_common ==
== sceKernelLibraryStubTable_prx2_common struct ==


<pre>
<pre>
unsigned char structsize; /* bitsize 8, bitpos 0 */
unsigned char structsize;  
unsigned char reserved1[1]:uint32; /* bitsize 8, bitpos 8 */
unsigned char reserved1[1]:uint32;  
short unsigned int version; /* bitsize 16, bitpos 16 */
short unsigned int version;  
short unsigned int attribute; /* bitsize 16, bitpos 32 */
short unsigned int attribute;  
short unsigned int nfunc; /* bitsize 16, bitpos 48 */
short unsigned int nfunc;  
short unsigned int nvar; /* bitsize 16, bitpos 64 */
short unsigned int nvar;  
short unsigned int ntlsvar; /* bitsize 16, bitpos 80 */
short unsigned int ntlsvar;  
unsigned char reserved2[4]:uint32; /* bitsize 32, bitpos 96 */
unsigned char reserved2[4]:uint32;  
</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>

Latest revision as of 23:18, 28 January 2017

Module Info[edit | edit source]

sceModuleInfo_common struct[edit | edit source]

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

sceModuleInfo_prx2arm struct[edit | edit source]

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[edit | edit source]

sceKernelLibraryEntryTable_prx2_common struct[edit | edit source]

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[edit | edit source]

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

Imports[edit | edit source]

sceKernelLibraryStubTable_prx2_common struct[edit | edit source]

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[edit | edit source]

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;