Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/Exe.java')
-rw-r--r--core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/Exe.java183
1 files changed, 0 insertions, 183 deletions
diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/Exe.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/Exe.java
deleted file mode 100644
index a155a4415c0..00000000000
--- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/coff/Exe.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 QNX Software Systems and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * QNX Software Systems - Initial API and implementation
- *******************************************************************************/
-package org.eclipse.cdt.utils.coff;
-
-import java.io.IOException;
-import java.io.RandomAccessFile;
-
-import org.eclipse.cdt.core.CCorePlugin;
-
-public class Exe {
-
- public static final String NL = System.getProperty("line.separator", "\n"); //$NON-NLS-1$ //$NON-NLS-2$
- protected RandomAccessFile rfile;
- ExeHeader ehdr;
-
- static public class ExeHeader {
-
- public final static int EXEHDRSZ = 28;
- public byte[] e_signature = new byte[2]; // 00-01 "MZ" - Link file .EXE signature
- public short e_lastsize; // 02-03 Length of EXE file modulo 512
- public short e_nblocks; // 04-05 Number of 512 pages (including the last page)
- public short e_nreloc; // 06-07 Number of relocation entries
- public short e_hdrsize; // 08-09 Size of header in 16 byte paragraphs,
- // occupied by "EXE" header and relo table.
-
- public short e_minalloc; // 0A-0B Minimum paragraphs of memory allocated
- public short e_maxalloc; // 0C-0D Maximum number of paragraphs allocated
- // in addition to the code size
- public short e_ss; // 0E-0F Initial SS relative to start of executable
- public short e_sp; // 10-11 Initial SP
- public short e_checksum; // 12-13 Checksum (or 0) of executable
- public short e_ip; // 14-15 CS:IP relative to start of executable
- public short e_cs; // 16-17 CS:IP relative to start of executable
- public short e_relocoffs; // 18-19 Offset of relocation table;
- // 40h for new-(NE,LE,LX,W3,PE etc.) executable
- public short e_noverlay; // 1A-1B Overlay number (0h = main program)
-
- protected ExeHeader(RandomAccessFile file) throws IOException {
- this(file, file.getFilePointer());
- }
-
- protected ExeHeader(RandomAccessFile file, long offset) throws IOException {
- file.seek(offset);
- byte[] hdr = new byte[EXEHDRSZ];
- file.readFully(hdr);
- ReadMemoryAccess memory = new ReadMemoryAccess(hdr, true);
- commonSetup(memory);
- }
-
- public ExeHeader(byte[] hdr, boolean little) throws IOException {
- ReadMemoryAccess memory = new ReadMemoryAccess(hdr, true);
- commonSetup(memory);
- }
-
- public ExeHeader(ReadMemoryAccess memory) throws IOException {
- commonSetup(memory);
- }
-
- void commonSetup(ReadMemoryAccess memory) throws IOException {
- if (memory.getSize() < EXEHDRSZ) {
- throw new IOException("Not DOS EXE format"); //$NON-NLS-1$
- }
- memory.getBytes(e_signature);
- if (e_signature[0] != 'M' || e_signature[1] != 'Z') {
- throw new IOException(CCorePlugin.getResourceString("Util.exception.notDOSFormat")); //$NON-NLS-1$
- }
- e_lastsize = memory.getShort();
- e_nblocks = memory.getShort();
- e_nreloc = memory.getShort();
- e_hdrsize = memory.getShort();
- e_minalloc = memory.getShort();
- e_maxalloc = memory.getShort();
- e_ss = memory.getShort();
- e_sp = memory.getShort();
- e_checksum = memory.getShort();
- e_ip = memory.getShort();
- e_cs = memory.getShort();
- e_relocoffs = memory.getShort();
- e_noverlay = memory.getShort();
- }
-
- public String toString() {
- StringBuffer buffer = new StringBuffer();
-
- buffer.append("EXE HEADER VALUES").append(NL); //$NON-NLS-1$
- buffer.append("signature "); //$NON-NLS-1$
- buffer.append((char)e_signature[0] + " " + (char)e_signature[1]); //$NON-NLS-1$
- buffer.append(NL);
-
- buffer.append("lastsize: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_lastsize).longValue()));
- buffer.append(NL);
-
- buffer.append("nblocks: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_nblocks).longValue()));
- buffer.append(NL);
-
- buffer.append("nreloc: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_nreloc).longValue()));
- buffer.append(NL);
-
- buffer.append("hdrsize: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_hdrsize).longValue()));
- buffer.append(NL);
-
- buffer.append("minalloc: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_minalloc).longValue()));
- buffer.append(NL);
-
- buffer.append("maxalloc: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_maxalloc).longValue()));
- buffer.append(NL);
- buffer.append("ss: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_ss).longValue()));
- buffer.append(NL);
-
- buffer.append("sp: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_sp).longValue()));
- buffer.append(NL);
-
- buffer.append("checksum: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_checksum).longValue()));
- buffer.append(NL);
-
- buffer.append("ip: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_ip).longValue()));
- buffer.append(NL);
-
- buffer.append("cs: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_cs).longValue()));
- buffer.append(NL);
-
- buffer.append("relocoffs: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_relocoffs).longValue()));
- buffer.append(NL);
-
- buffer.append("overlay: 0x"); //$NON-NLS-1$
- buffer.append(Long.toHexString(new Short(e_noverlay).longValue()));
- buffer.append(NL);
- return buffer.toString();
- }
- }
-
- public ExeHeader getExeHeader() throws IOException {
- return ehdr;
- }
-
- public String toString() {
- StringBuffer buffer = new StringBuffer();
- buffer.append(rfile).append(NL);
- buffer.append(ehdr);
- return buffer.toString();
- }
-
- public Exe(String file) throws IOException {
- rfile = new RandomAccessFile(file, "r"); //$NON-NLS-1$
- try {
- ehdr = new ExeHeader(rfile);
- } finally {
- if (ehdr == null) {
- rfile.close();
- }
- }
- }
-
- public static void main(String[] args) {
- try {
- Exe exe = new Exe(args[0]);
- System.out.println(exe);
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
-}

Back to the top