| /* SPDX-License-Identifier: GPL-2.0+ */ | |
| /* | |
| * Portable Executable and Common Object Constants | |
| * | |
| * Copyright (c) 2018 Heinrich Schuchardt | |
| * | |
| * based on the "Microsoft Portable Executable and Common Object File Format | |
| * Specification", revision 11, 2017-01-23 | |
| */ | |
| #ifndef _ASM_PE_H | |
| #define _ASM_PE_H | |
| /* Characteristics */ | |
| #define IMAGE_FILE_RELOCS_STRIPPED 0x0001 | |
| #define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002 | |
| #define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004 | |
| #define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008 | |
| #define IMAGE_FILE_AGGRESSIVE_WS_TRIM 0x0010 | |
| #define IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020 | |
| /* Reserved 0x0040 */ | |
| #define IMAGE_FILE_BYTES_REVERSED_LO 0x0080 | |
| #define IMAGE_FILE_32BIT_MACHINE 0x0100 | |
| #define IMAGE_FILE_DEBUG_STRIPPED 0x0200 | |
| #define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400 | |
| #define IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800 | |
| #define IMAGE_FILE_SYSTEM 0x1000 | |
| #define IMAGE_FILE_DLL 0x2000 | |
| #define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000 | |
| #define IMAGE_FILE_BYTES_REVERSED_HI 0x8000 | |
| /* Machine types */ | |
| #define IMAGE_FILE_MACHINE_I386 0x014c | |
| #define IMAGE_FILE_MACHINE_ARM 0x01c0 | |
| #define IMAGE_FILE_MACHINE_THUMB 0x01c2 | |
| #define IMAGE_FILE_MACHINE_ARMNT 0x01c4 | |
| #define IMAGE_FILE_MACHINE_AMD64 0x8664 | |
| #define IMAGE_FILE_MACHINE_ARM64 0xaa64 | |
| #define IMAGE_FILE_MACHINE_RISCV32 0x5032 | |
| #define IMAGE_FILE_MACHINE_RISCV64 0x5064 | |
| /* Header magic constants */ | |
| #define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x010b | |
| #define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x020b | |
| #define IMAGE_DOS_SIGNATURE 0x5a4d /* MZ */ | |
| #define IMAGE_NT_SIGNATURE 0x00004550 /* PE00 */ | |
| /* Subsystem type */ | |
| #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10 | |
| #define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11 | |
| #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12 | |
| #define IMAGE_SUBSYSTEM_EFI_ROM 13 | |
| /* DLL characteristics */ | |
| #define IMAGE_DLLCHARACTERISTICS_NX_COMPAT 0x100 | |
| /* Section flags */ | |
| #define IMAGE_SCN_CNT_CODE 0x00000020 | |
| #define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040 | |
| #define IMAGE_SCN_CNT_UNINITIALIZED_ DATA 0x00000080 | |
| #define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000 | |
| #define IMAGE_SCN_MEM_DISCARDABLE 0x02000000 | |
| #define IMAGE_SCN_MEM_NOT_CACHED 0x04000000 | |
| #define IMAGE_SCN_MEM_NOT_PAGED 0x08000000 | |
| #define IMAGE_SCN_MEM_SHARED 0x10000000 | |
| #define IMAGE_SCN_MEM_EXECUTE 0x20000000 | |
| #define IMAGE_SCN_MEM_READ 0x40000000 | |
| #define IMAGE_SCN_MEM_WRITE 0x80000000 | |
| #define LINUX_ARM64_MAGIC 0x644d5241 | |
| #endif /* _ASM_PE_H */ |