coff.h
Go to the documentation of this file.00001 #ifndef COFF_H
00002 #define COFF_H
00003
00004
00005
00006
00007
00008
00009 #define F_RELFLG 0x0001
00010 #define F_EXEC 0x0002
00011 #define F_LNNO 0x0004
00012 #define F_LSYMS 0x0008
00013 #define F_AR32WR 0x0100
00014
00015
00016 #define EM_E1 0x17a
00017
00018
00019 #define O_MAGIC 0x017c
00020
00021
00022 #define S_TYPE_TEXT 0x0020
00023 #define S_TYPE_DATA 0x0040
00024 #define S_TYPE_BSS 0x0080
00025
00026
00027 typedef struct
00028 {
00029 unsigned short f_magic;
00030 unsigned short f_nscns;
00031 unsigned long f_timdat;
00032 unsigned long f_symptr;
00033 unsigned long f_nsyms;
00034 unsigned short f_opthdr;
00035 unsigned short f_flags;
00036 }
00037 COFF_filehdr;
00038
00039
00040
00041
00042 typedef struct
00043 {
00044 unsigned short magic;
00045 unsigned short vstamp;
00046 unsigned long tsize;
00047 unsigned long dsize;
00048 unsigned long bsize;
00049 unsigned long entry;
00050 unsigned long text_start;
00051 unsigned long data_start;
00052 }
00053 COFF_opthdr;
00054
00055
00056
00057
00058 typedef struct
00059 {
00060 char s_name[8];
00061 unsigned long s_paddr;
00062 unsigned long s_vaddr;
00063 unsigned long s_size;
00064 unsigned long s_scnptr;
00065 unsigned long s_relptr;
00066 unsigned long s_lnnoptr;
00067 unsigned short s_nreloc;
00068 unsigned short s_nlnno;
00069 unsigned long s_flags;
00070 }
00071 COFF_scnhdr;
00072
00073 #endif