📄 coff.h
字号:
/* coff.h: * Header file used for the COFF file format of TFS. * * General notice: * This code is part of a boot-monitor package developed as a generic base * platform for embedded system designs. As such, it is likely to be * distributed to various projects beyond the control of the original * author. Please notify the author of any enhancements made or bugs found * so that all may benefit from the changes. In addition, notification back * to the author will allow the new user to pick up changes that may have * been made by other users after this version of the code was distributed. * * Note1: the majority of this code was edited with 4-space tabs. * Note2: as more and more contributions are accepted, the term "author" * is becoming a mis-representation of credit. * * Original author: Ed Sutter * Email: esutter@lucent.com * Phone: 908-582-2351 *//* File header... */struct filehdr { unsigned short f_magic; /* magic number */ unsigned short f_nscns; /* number of sections */ long f_timdat; /* time & date stamp */ long f_symptr; /* file pointer to symtab */ long f_nsyms; /* number of symtab entries */ unsigned short f_opthdr; /* sizeof(optional hdr) */ unsigned short f_flags; /* flags */};#define FILHDR struct filehdr#define FILHSZ sizeof(FILHDR)#define F_EXEC 0000002/* Optional header... */struct aouthdr { short magic; short vstamp; /* version stamp */ long tsize; /* text size in bytes, padded to FW bdry */ long dsize; /* initialized data " " */ long bsize; /* uninitialized data " " */ long entry; /* entry pt. */ long text_start; /* base of text used for this file */ long data_start; /* base of data used for this file */};#define AOUTHDR struct aouthdr#define AOUTHSZ sizeof(AOUTHDR)struct scnhdr { char s_name[8]; /* section name */ long s_paddr; /* physical address */ long s_vaddr; /* virtual address */ long s_size; /* section size */ long s_scnptr; /* file ptr to raw data for section */ long s_relptr; /* file ptr to relocation */ long s_lnnoptr; /* file ptr to line numbers */ unsigned short s_nreloc; /* number of relocation entries */ unsigned short s_nlnno; /* number of line number entries */ long s_flags; /* flags */};#define SCNHDR struct scnhdr#define SCNHSZ sizeof(SCNHDR)/* * The low 4 bits of s_flags is used as a section "type" */#define STYP_REG 0x00 /* "regular" section: allocated, relocated, loaded */#define STYP_DSECT 0x01 /* "dummy" section: not allocated, relocated, not loaded */#define STYP_NOLOAD 0x02 /* "noload" section: allocated, relocated, not loaded */#define STYP_GROUP 0x04 /* "grouped" section: formed of input sections */#define STYP_PAD 0x08 /* "padding" section: not allocated, not relocated, loaded */#define STYP_COPY 0x10 /* "copy" section: for decision function used by field update; not allocated, not relocated, loaded; reloc & lineno entries processed normally */#define STYP_TEXT 0x20 /* section contains text only */#define STYP_DATA 0x40 /* section contains data only */#define STYP_BSS 0x80 /* section contains bss only */#define STYP_INFO 0x0200#define STYP_LIT 0x8020#define STYP_ABS 0x4000#define STYP_BSSREG 0x1200#define STYP_ENVIR 0x2200#define ISLOADABLE(flags) \ (flags & (STYP_ABS | STYP_TEXT | STYP_LIT | STYP_DATA))#define ISBSS(flags) (flags & (STYP_BSS))#define ISTEXT(flags) (flags & (STYP_TEXT))
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -