PRX File Format: Difference between revisions

From Vita Developer wiki
Jump to navigation Jump to search
Line 37: Line 37:


<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>


Line 53: Line 53:


<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>



Revision as of 23:11, 28 January 2017

Module Info

sceModuleInfo_common

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

sceModuleInfo_prx2arm

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

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

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

Imports

sceKernelLibraryStubTable_prx2_common

unsigned char structsize; /* bitsize 8, bitpos 0 */
unsigned char reserved1[1]:uint32; /* bitsize 8, bitpos 8 */
short unsigned int version; /* bitsize 16, bitpos 16 */
short unsigned int attribute; /* bitsize 16, bitpos 32 */
short unsigned int nfunc; /* bitsize 16, bitpos 48 */
short unsigned int nvar; /* bitsize 16, bitpos 64 */
short unsigned int ntlsvar; /* bitsize 16, bitpos 80 */
unsigned char reserved2[4]:uint32; /* bitsize 32, bitpos 96 */

sceKernelLibraryStubTable_prx2arm

sceKernelLibraryStubTable_prx2_common c; /* bitsize 128, bitpos 0 */
Elf32_Word libname_nid; /* bitsize 32, bitpos 128 */
Elf32_Addr libname; /* bitsize 32, bitpos 160 */
Elf32_Word sce_sdk_version; /* bitsize 32, bitpos 192 */
Elf32_Addr func_nidtable; /* bitsize 32, bitpos 224 */
Elf32_Addr func_table; /* bitsize 32, bitpos 256 */
Elf32_Addr var_nidtable; /* bitsize 32, bitpos 288 */
Elf32_Addr var_table; /* bitsize 32, bitpos 320 */
Elf32_Addr tls_nidtable; /* bitsize 32, bitpos 352 */
Elf32_Addr tls_table; /* bitsize 32, bitpos 384 */