pe.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /* SPDX-License-Identifier: GPL-2.0+ */
  2. /*
  3. * Portable Executable and Common Object Constants
  4. *
  5. * Copyright (c) 2018 Heinrich Schuchardt
  6. *
  7. * based on the "Microsoft Portable Executable and Common Object File Format
  8. * Specification", revision 11, 2017-01-23
  9. */
  10. #ifndef _ASM_PE_H
  11. #define _ASM_PE_H
  12. /* Characteristics */
  13. #define IMAGE_FILE_RELOCS_STRIPPED 0x0001
  14. #define IMAGE_FILE_EXECUTABLE_IMAGE 0x0002
  15. #define IMAGE_FILE_LINE_NUMS_STRIPPED 0x0004
  16. #define IMAGE_FILE_LOCAL_SYMS_STRIPPED 0x0008
  17. #define IMAGE_FILE_AGGRESSIVE_WS_TRIM 0x0010
  18. #define IMAGE_FILE_LARGE_ADDRESS_AWARE 0x0020
  19. /* Reserved 0x0040 */
  20. #define IMAGE_FILE_BYTES_REVERSED_LO 0x0080
  21. #define IMAGE_FILE_32BIT_MACHINE 0x0100
  22. #define IMAGE_FILE_DEBUG_STRIPPED 0x0200
  23. #define IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP 0x0400
  24. #define IMAGE_FILE_NET_RUN_FROM_SWAP 0x0800
  25. #define IMAGE_FILE_SYSTEM 0x1000
  26. #define IMAGE_FILE_DLL 0x2000
  27. #define IMAGE_FILE_UP_SYSTEM_ONLY 0x4000
  28. #define IMAGE_FILE_BYTES_REVERSED_HI 0x8000
  29. /* Machine types */
  30. #define IMAGE_FILE_MACHINE_I386 0x014c
  31. #define IMAGE_FILE_MACHINE_ARM 0x01c0
  32. #define IMAGE_FILE_MACHINE_THUMB 0x01c2
  33. #define IMAGE_FILE_MACHINE_ARMNT 0x01c4
  34. #define IMAGE_FILE_MACHINE_AMD64 0x8664
  35. #define IMAGE_FILE_MACHINE_ARM64 0xaa64
  36. #define IMAGE_FILE_MACHINE_RISCV32 0x5032
  37. #define IMAGE_FILE_MACHINE_RISCV64 0x5064
  38. /* Header magic constants */
  39. #define IMAGE_NT_OPTIONAL_HDR32_MAGIC 0x010b
  40. #define IMAGE_NT_OPTIONAL_HDR64_MAGIC 0x020b
  41. #define IMAGE_DOS_SIGNATURE 0x5a4d /* MZ */
  42. #define IMAGE_NT_SIGNATURE 0x00004550 /* PE00 */
  43. /* Subsystem type */
  44. #define IMAGE_SUBSYSTEM_EFI_APPLICATION 10
  45. #define IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER 11
  46. #define IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER 12
  47. #define IMAGE_SUBSYSTEM_EFI_ROM 13
  48. #endif /* _ASM_PE_H */