Annotation of qemu/roms/ipxe/src/include/coff.h, revision 1.1.1.1

1.1       root        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: 
                     27: typedef 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: }
                     37: COFF_filehdr;
                     38: 
                     39: /*
                     40:  * Optional header.
                     41:  */
                     42: typedef 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: }      
                     53: COFF_opthdr;
                     54: 
                     55: /*
                     56:  * Section header.
                     57:  */
                     58: typedef 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: }
                     71: COFF_scnhdr;
                     72: 
                     73: #endif /* COFF_H */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.