#ifndef _MYECOFF_H_ #define _MYECOFF_H_ #define ECOFF_MIPS_MAGIC_LITTLE_SWAP 0x6201 struct Section { UBYTE start; // $2E char name[7]; // Name of section ULONG what; // What is this? It seems to always be the same as the 'loadAddr' ULONG loadAddr; // Load address ULONG size; // Size of section ULONG fpos; // Position in file ULONG pad[4]; // What is this?? }; struct ecoff_file_hdr { unsigned short f_magic; // 0. magic number unsigned short f_nscns; // 2. number of sections unsigned int f_timdat; // 4. time & date stamp unsigned int f_symptr; // 8. file pointer to symtab unsigned int f_nsyms; // 12. number of symtab entries unsigned short f_opthdr; // 16. sizeof(optional hdr) unsigned short f_flags; // 18. flags }; // 20. // a.out optional header struct ecoff_aout_hdr { UWORD a_magic; // 0. type of file UWORD a_vstamp; // 2. version stamp ULONG a_tsize; // 4. text size (nbytes) padded to FW bdry ULONG a_dsize; // 8. data size ULONG a_bsize; // 12. bss size ULONG a_entry; // 16. entry pt. ULONG a_ftext; // 20. base of text used for this file ULONG a_fdata; // 24. base of data used for this file ULONG a_fbss; // 28. base of bss used for this file ULONG a_gprmask; // 32. gpr register mask ULONG a_cprmask[4]; // 36. co-processor register mask ULONG a_gp; // 52. value for gp register }; // 56. #endif