]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - include/coff/pe.h
Add support for reading msdos MZ executables.
[thirdparty/binutils-gdb.git] / include / coff / pe.h
index f9035bf8a351de3d803926273f8f332367f5e519..56cc4e20c2c4461cd0216896e54f53f42be97381 100644 (file)
@@ -20,6 +20,8 @@
 #ifndef _PE_H
 #define _PE_H
 
+#include "msdos.h"
+
 /* NT specific file attributes.  */
 #define IMAGE_FILE_RELOCS_STRIPPED           0x0001
 #define IMAGE_FILE_EXECUTABLE_IMAGE          0x0002
 #define IMAGE_SUBSYSTEM_SAL_RUNTIME_DRIVER     13
 #define IMAGE_SUBSYSTEM_XBOX                   14
 
-/* Magic values that are true for all dos/nt implementations.  */
-#define DOSMAGIC       0x5a4d
-#define NT_SIGNATURE   0x00004550
-
 /* NT allows long filenames, we want to accommodate this.
    This may break some of the bfd functions.  */
 #undef  FILNMLEN
 #define FILNMLEN       18      /* # characters in a file name.  */
 
-struct external_PEI_DOS_hdr
-{
-  /* DOS header fields - always at offset zero in the EXE file.  */
-  char e_magic[2];             /* Magic number, 0x5a4d.  */
-  char e_cblp[2];              /* Bytes on last page of file, 0x90.  */
-  char e_cp[2];                        /* Pages in file, 0x3.  */
-  char e_crlc[2];              /* Relocations, 0x0.  */
-  char e_cparhdr[2];           /* Size of header in paragraphs, 0x4.  */
-  char e_minalloc[2];          /* Minimum extra paragraphs needed, 0x0.  */
-  char e_maxalloc[2];          /* Maximum extra paragraphs needed, 0xFFFF.  */
-  char e_ss[2];                        /* Initial (relative) SS value, 0x0.  */
-  char e_sp[2];                        /* Initial SP value, 0xb8.  */
-  char e_csum[2];              /* Checksum, 0x0.  */
-  char e_ip[2];                        /* Initial IP value, 0x0.  */
-  char e_cs[2];                        /* Initial (relative) CS value, 0x0.  */
-  char e_lfarlc[2];            /* File address of relocation table, 0x40.  */
-  char e_ovno[2];              /* Overlay number, 0x0.  */
-  char e_res[4][2];            /* Reserved words, all 0x0.  */
-  char e_oemid[2];             /* OEM identifier (for e_oeminfo), 0x0.  */
-  char e_oeminfo[2];           /* OEM information; e_oemid specific, 0x0.  */
-  char e_res2[10][2];          /* Reserved words, all 0x0.  */
-  char e_lfanew[4];            /* File address of new exe header, usually 0x80.  */
-  char dos_message[16][4];     /* Other stuff, always follow DOS header.  */
-};
-
 struct external_PEI_IMAGE_hdr
 {
   char nt_signature[4];                /* Required NT signature, 0x4550.  */