// // ExecutableCharacteristics.cs - indicates attributes of the executable // // Author: // Michael Becker // // Copyright (c) 2011-2020 Mike Becker's Software // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . using System; namespace UniversalEditor.ObjectModels.Executable { /// /// Indicates attributes of the executable. /// [Flags()] public enum ExecutableCharacteristics : ushort { /// /// No characteristics defined. /// None = 0, /// /// Relocation information stripped from a file. /// RelocationInformationStripped = 0x0001, /// /// The file is executable. /// ExecutableImage = 0x0002, /// /// Line numbers stripped from file. /// LineNumbersStripped = 0x0004, /// /// Local symbols stripped from file. /// LocalSymbolsStripped = 0x0008, /// /// Lets the OS aggressively trim the working set. /// AggressiveWorkingSetTrim = 0x0010, /// /// Lets the OS aggressively trim the working set. /// MinimalObject = 0x0010, /// /// The application can handle addresses greater than two gigabytes. /// UpdateObject = 0x0020, /// /// The application can handle addresses greater than two gigabytes. /// LargeAddressAware = 0x0020, /// /// This requires a 32-bit word machine. /// Require32BitWord = 0x0100, /// /// Debug information is stripped to a .DBG file. /// DebugStripped = 0x0200, /// /// If the image is on removable media, copy to and run from the swap file. /// RemovableRunFromSwap = 0x0400, /// /// If the image is on a network, copy to and run from the swap file. /// NetworkRunFromSwap = 0x0800, /// /// File is a system file. /// IsSystemFile = 0x1000, /// /// File is a DLL. /// IsDynamicLinkLibrary = 0x2000, /// /// The file should only be run on single-processor machines. /// UniprocessorOnly = 0x4000, /// /// Bytes of machine word are reversed /// ReverseByteOrder = 0x8000 } }