sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
COFF.h
Go to the documentation of this file.
1/* coff.h
2 * Data structures that describe the MIPS COFF format.
3 */
4
9struct coff_filehdr
10{
11 u16 f_magic; /* magic number */
12 u16 f_nscns; /* number of sections */
13 u32 f_timdat; /* time & date stamp */
14 u32 f_symptr; /* file pointer to symbolic header */
15 u32 f_nsyms; /* sizeof(symbolic hdr) */
16 u16 f_opthdr; /* sizeof(optional hdr) */
17 u16 f_flags; /* flags */
18};
19
20#define MIPSELMAGIC 0x0162
21
22#define OMAGIC 0407
23#define SOMAGIC 0x0701
24
25typedef struct aouthdr
26{
27 u16 magic; /* see above */
28 u16 vstamp; /* version stamp */
29 u32 tsize; /* text size in bytes, padded to DW bdry */
30 u32 dsize; /* initialized data " " */
31 u32 bsize; /* uninitialized data " " */
32 u32 entry; /* entry pt. */
33 u32 text_start; /* base of text used for this file */
34 u32 data_start; /* base of data used for this file */
35 u32 bss_start; /* base of bss used for this file */
36 // Instead of the GPR and CPR masks, these 5 fields exist.
37 u32 field_20;
38 u32 field_24;
39 u32 field_28;
40 u32 field_2C;
41 struct iopmod_id *mod_id;
42 u32 gp_value; /* the gp value used for this object */
43} AOUTHDR;
44
45struct scnhdr
46{
47 u8 s_name[8]; /* section name */
48 u32 s_paddr; /* physical address, aliased s_nlib */
49 u32 s_vaddr; /* virtual address */
50 u32 s_size; /* section size */
51 u32 s_scnptr; /* file ptr to raw data for section */
52 u32 s_relptr; /* file ptr to relocation */
53 u32 s_lnnoptr; /* file ptr to gp histogram */
54 u16 s_nreloc; /* number of relocation entries */
55 u16 s_nlnno; /* number of gp histogram entries */
56 u32 s_flags; /* flags */
57};