VirtualBox

source: vbox/trunk/src/VBox/Devices/PC/Etherboot-src/include/coff.h@ 20295

最後變更 在這個檔案從20295是 1,由 vboxsync 提交於 55 年 前

import

  • 屬性 svn:eol-style 設為 native
  • 屬性 svn:keywords 設為 Author Date Id Revision
檔案大小: 2.4 KB
 
1#ifndef COFF_H
2#define COFF_H
3/* Based on the elf.h file
4 * Changed accordingly to support COFF file support
5 */
6
7
8/* Values for f_flags. */
9#define F_RELFLG 0x0001 /* If set, not reloc. info. Clear for executables */
10#define F_EXEC 0x0002 /* No unresolved symbols. Executable file ! */
11#define F_LNNO 0x0004 /* If set, line information numbers removed */
12#define F_LSYMS 0x0008 /* If set, local symbols removed */
13#define F_AR32WR 0x0100 /* Indicates little endian file */
14
15/* Values for e_machine (architecute). */
16#define EM_E1 0x17a /* Magic number for Hyperstone. Big endian format */
17
18/* Values for f_flags. */
19#define O_MAGIC 0x017c /* Optional's header magic number for Hyperstone */
20
21/* Values for s_flags. */
22#define S_TYPE_TEXT 0x0020 /* If set, the section contains only executable */
23#define S_TYPE_DATA 0x0040 /* If set, the section contains only initialized data */
24#define S_TYPE_BSS 0x0080 /* If set, the section is BSS no data stored */
25
26
27typedef struct
28{
29 unsigned short f_magic; /* magic number */
30 unsigned short f_nscns; /* number of sections */
31 unsigned long f_timdat; /* time & date stamp */
32 unsigned long f_symptr; /* file pointer to symtab */
33 unsigned long f_nsyms; /* number of symtab entries */
34 unsigned short f_opthdr; /* sizeof(optional hdr) */
35 unsigned short f_flags; /* flags */
36}
37COFF_filehdr;
38
39/*
40 * Optional header.
41 */
42typedef struct
43{
44 unsigned short magic; /* type of file */
45 unsigned short vstamp; /* version stamp */
46 unsigned long tsize; /* text size in bytes, padded to FW bdry*/
47 unsigned long dsize; /* initialized data " " */
48 unsigned long bsize; /* uninitialized data " " */
49 unsigned long entry; /* entry pt. */
50 unsigned long text_start; /* base of text used for this file */
51 unsigned long data_start; /* base of data used for this file */
52}
53COFF_opthdr;
54
55/*
56 * Section header.
57 */
58typedef struct
59{
60 char s_name[8]; /* section name */
61 unsigned long s_paddr; /* physical address, aliased s_nlib */
62 unsigned long s_vaddr; /* virtual address */
63 unsigned long s_size; /* section size */
64 unsigned long s_scnptr; /* file ptr to raw data for section */
65 unsigned long s_relptr; /* file ptr to relocation */
66 unsigned long s_lnnoptr; /* file ptr to line numbers */
67 unsigned short s_nreloc; /* number of relocation entries */
68 unsigned short s_nlnno; /* number of line number entries*/
69 unsigned long s_flags; /* flags */
70}
71COFF_scnhdr;
72
73#endif /* COFF_H */
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette