PRX File Format: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
(Created page with "= Module Info = == sceModuleInfo_common == short unsigned int modattribute; →‎bitsize 16, bitpos 0: unsigned char modversion[2]:uint32; →‎bitsize 16, bitpos 16: char m...")
 
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Module Info =
= Module Info =


== sceModuleInfo_common ==
== sceModuleInfo_common struct ==


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


== sceModuleInfo_prx2arm ==
== sceModuleInfo_prx2arm struct ==


sceModuleInfo_common c; /* bitsize 256, bitpos 0 */
<pre>
Elf32_Addr resreve; /* bitsize 32, bitpos 256 */
sceModuleInfo_common c;  
Elf32_Addr ent_top; /* bitsize 32, bitpos 288 */
Elf32_Addr resreve;  
Elf32_Addr ent_end; /* bitsize 32, bitpos 320 */
Elf32_Addr ent_top;  
Elf32_Addr stub_top; /* bitsize 32, bitpos 352 */
Elf32_Addr ent_end;  
Elf32_Addr stub_end; /* bitsize 32, bitpos 384 */
Elf32_Addr stub_top;  
Elf32_Word dbg_fingerprint; /* bitsize 32, bitpos 416 */
Elf32_Addr stub_end;  
Elf32_Addr tls_top; /* bitsize 32, bitpos 448 */
Elf32_Word dbg_fingerprint;  
Elf32_Addr tls_filesz; /* bitsize 32, bitpos 480 */
Elf32_Addr tls_top;  
Elf32_Addr tls_memsz; /* bitsize 32, bitpos 512 */
Elf32_Addr tls_filesz;  
Elf32_Addr start_entry; /* bitsize 32, bitpos 544 */
Elf32_Addr tls_memsz;  
Elf32_Addr stop_entry; /* bitsize 32, bitpos 576 */
Elf32_Addr start_entry;  
Elf32_Addr arm_exidx_top; /* bitsize 32, bitpos 608 */
Elf32_Addr stop_entry;  
Elf32_Addr arm_exidx_end; /* bitsize 32, bitpos 640 */
Elf32_Addr arm_exidx_top;  
Elf32_Addr arm_extab_top; /* bitsize 32, bitpos 672 */
Elf32_Addr arm_exidx_end;  
Elf32_Addr arm_extab_end; /* bitsize 32, bitpos 704 */
Elf32_Addr arm_extab_top;
Elf32_Addr arm_extab_end;
</pre>
 
= Exports =
 
== sceKernelLibraryEntryTable_prx2_common struct ==
 
<pre>
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;
</pre>
 
== sceKernelLibraryEntryTable_prx2arm struct ==
 
<pre>
sceKernelLibraryEntryTable_prx2_common c;
Elf32_Word libname_nid;
Elf32_Addr libname;
Elf32_Addr nidtable;
Elf32_Addr addtable;  
</pre>
 
= Imports =
 
== sceKernelLibraryStubTable_prx2_common struct ==
 
<pre>
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;
</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>

Latest revision as of 22: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;