1 /* 2 * Copyright 2000 Sun Microsystems, Inc. All Rights Reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. 8 * 9 * This code is distributed in the hope that it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 12 * version 2 for more details (a copy is included in the LICENSE file that 13 * accompanied this code). 14 * 15 * You should have received a copy of the GNU General Public License version 16 * 2 along with this work; if not, write to the Free Software Foundation, 17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 18 * 19 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 20 * CA 95054 USA or visit www.sun.com if you need additional information or 21 * have any questions. 22 * 23 */ 24 25 package sun.jvm.hotspot.debugger.win32.coff; 26 27 /** Constants indicating attributes of the object or image file. (Some 28 of the descriptions are taken directly from Microsoft's 29 documentation and are copyrighted by Microsoft.) */ 30 31 public interface Characteristics { 32 /** Image only, Windows CE, Windows NT and above. Indicates that the 33 file does not contain base relocations and must therefore be 34 loaded at its preferred base address. If the base address is not 35 available, the loader reports an error. Operating systems 36 running on top of MS-DOS (Win32s) are generally not able to use 37 the preferred base address and so cannot run these 38 images. However, beginning with version 4.0, Windows will use an 39 application's preferred base address. The default behavior of 40 the linker is to strip base relocations from EXEs. */ 41 public static final short IMAGE_FILE_RELOCS_STRIPPED = (short) 0x0001; 42 43 /** Image only. Indicates that the image file is valid and can be 44 run. If this flag is not set, it generally indicates a linker 45 error. */ 46 public static final short IMAGE_FILE_EXECUTABLE_IMAGE = (short) 0x0002; 47 48 /** COFF line numbers have been removed. */ 49 public static final short IMAGE_FILE_LINE_NUMS_STRIPPED = (short) 0x0004; 50 51 /** COFF symbol table entries for local symbols have been removed. */ 52 public static final short IMAGE_FILE_LOCAL_SYMS_STRIPPED = (short) 0x0008; 53 54 /** Aggressively trim working set. */ 55 public static final short IMAGE_FILE_AGGRESSIVE_WS_TRIM = (short) 0x0010; 56 57 /** App can handle > 2gb addresses. */ 58 public static final short IMAGE_FILE_LARGE_ADDRESS_AWARE = (short) 0x0020; 59 60 /** Use of this flag is reserved for future use. */ 61 public static final short IMAGE_FILE_16BIT_MACHINE = (short) 0x0040; 62 63 /** Little endian: LSB precedes MSB in memory. */ 64 public static final short IMAGE_FILE_BYTES_REVERSED_LO = (short) 0x0080; 65 66 /** Machine based on 32-bit-word architecture. */ 67 public static final short IMAGE_FILE_32BIT_MACHINE = (short) 0x0100; 68 69 /** Debugging information removed from image file. */ 70 public static final short IMAGE_FILE_DEBUG_STRIPPED = (short) 0x0200; 71 72 /** If image is on removable media, copy and run from swap file. */ 73 public static final short IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP = (short) 0x0400; 74 75 /** The image file is a system file, not a user program. */ 76 public static final short IMAGE_FILE_SYSTEM = (short) 0x1000; 77 78 /** The image file is a dynamic-link library (DLL). Such files are 79 considered executable files for almost all purposes, although 80 they cannot be directly run. */ 81 public static final short IMAGE_FILE_DLL = (short) 0x2000; 82 83 /** File should be run only on a UP machine. */ 84 public static final short IMAGE_FILE_UP_SYSTEM_ONLY = (short) 0x4000; 85 86 /** Big endian: MSB precedes LSB in memory. */ 87 public static final short IMAGE_FILE_BYTES_REVERSED_HI = (short) 0x8000; 88 }