Blob Blame History Raw
#ifndef PERK_CONSTS_H
#define PERK_CONSTS_H

#ifndef PE_BITWISE
#define PE_BITWISE(x)   x
#endif

#ifndef PE_ARBITRARY
#define PE_ARBITRARY(x) x
#endif

#define PE_IMAGE_REL_BASED_ABSOLUTE                          PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_BASED_HIGH                              PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_BASED_LOW                               PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_BASED_HIGHLOW                           PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_BASED_HIGHADJ                           PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_BASED_MIPS_JMPADDR                      PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_BASED_ARM_MOV32A                        PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_BASED_RESERVED                          PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_BASED_ARM_MOV32T                        PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_BASED_MIPS_JMPADDR16                    PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_BASED_DIR64                             PE_ARBITRARY         (0x0000000a)
#define PE_WIN_CERT_REVISION_1_0                             PE_ARBITRARY         (0x00000100)
#define PE_WIN_CERT_REVISION_2_0                             PE_ARBITRARY         (0x00000200)
#define PE_WIN_CERT_TYPE_X509                                PE_ARBITRARY         (0x00000001)
#define PE_WIN_CERT_TYPE_PKCS_SIGNED_DATA                    PE_ARBITRARY         (0x00000002)
#define PE_WIN_CERT_TYPE_RESERVED_1                          PE_ARBITRARY         (0x00000003)
#define PE_WIN_CERT_TYPE_TS_STACK_SIGNED                     PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_ARM_ABSOLUTE                            PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_ARM_ADDR32                              PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_ARM_ADDR32NB                            PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_ARM_BRANCH24                            PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_ARM_BRANCH11                            PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_ARM_TOKEN                               PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_ARM_BLX24                               PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_REL_ARM_BLX11                               PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_ARM_SECTION                             PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_REL_ARM_SECREL                              PE_ARBITRARY         (0x0000000f)
#define PE_IMAGE_REL_ARM_MOV32A                              PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_REL_ARM_MOV32T                              PE_ARBITRARY         (0x00000011)
#define PE_IMAGE_REL_ARM_BRANCH20T                           PE_ARBITRARY         (0x00000012)
#define PE_IMAGE_REL_ARM_BRANCH24T                           PE_ARBITRARY         (0x00000014)
#define PE_IMAGE_REL_ARM_BLX23T                              PE_ARBITRARY         (0x00000015)
#define PE_IMAGE_REL_SH3_ABSOLUTE                            PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_SH3_DIRECT16                            PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_SH3_DIRECT32                            PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_SH3_DIRECT8                             PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_SH3_DIRECT8_WORD                        PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_SH3_DIRECT8_LONG                        PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_SH3_DIRECT4                             PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_SH3_DIRECT4_WORD                        PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_SH3_DIRECT4_LONG                        PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_REL_SH3_PCREL8_WORD                         PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_SH3_PCREL8_LONG                         PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_SH3_PCREL12_WORD                        PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_SH3_STARTOF_SECTION                     PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_SH3_SIZEOF_SECTION                      PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_REL_SH3_SECTION                             PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_REL_SH3_SECREL                              PE_ARBITRARY         (0x0000000f)
#define PE_IMAGE_REL_SH3_DIRECT32_NB                         PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_REL_SH3_GPREL4_LONG                         PE_ARBITRARY         (0x00000011)
#define PE_IMAGE_REL_SH3_TOKEN                               PE_ARBITRARY         (0x00000012)
#define PE_IMAGE_REL_SHM_PCRELPT                             PE_ARBITRARY         (0x00000013)
#define PE_IMAGE_REL_SHM_REFLO                               PE_ARBITRARY         (0x00000014)
#define PE_IMAGE_REL_SHM_REFHALF                             PE_ARBITRARY         (0x00000015)
#define PE_IMAGE_REL_SHM_RELLO                               PE_ARBITRARY         (0x00000016)
#define PE_IMAGE_REL_SHM_RELHALF                             PE_ARBITRARY         (0x00000017)
#define PE_IMAGE_REL_SHM_PAIR                                PE_ARBITRARY         (0x00000018)
#define PE_IMAGE_REL_SHM_NOMODE                              PE_ARBITRARY         (0x00008000)
#define PE_IMAGE_REL_I386_ABSOLUTE                           PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_I386_DIR16                              PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_I386_REL16                              PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_I386_DIR32                              PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_I386_DIR32NB                            PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_I386_SEG12                              PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_I386_SECTION                            PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_I386_SECREL                             PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_I386_TOKEN                              PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_I386_SECREL7                            PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_REL_I386_REL32                              PE_ARBITRARY         (0x00000014)
#define PE_IMAGE_REL_IA64_ABSOLUTE                           PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_IA64_IMM14                              PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_IA64_IMM22                              PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_IA64_IMM64                              PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_IA64_DIR32                              PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_IA64_DIR64                              PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_IA64_PCREL21B                           PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_IA64_PCREL21M                           PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_IA64_PCREL21F                           PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_REL_IA64_GPREL22                            PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_IA64_LTOFF22                            PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_IA64_SECTION                            PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_IA64_SECREL22                           PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_IA64_SECREL64I                          PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_REL_IA64_SECREL32                           PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_REL_IA64_DIR32NB                            PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_REL_IA64_SREL14                             PE_ARBITRARY         (0x00000011)
#define PE_IMAGE_REL_IA64_SREL22                             PE_ARBITRARY         (0x00000012)
#define PE_IMAGE_REL_IA64_SREL32                             PE_ARBITRARY         (0x00000013)
#define PE_IMAGE_REL_IA64_UREL32                             PE_ARBITRARY         (0x00000014)
#define PE_IMAGE_REL_IA64_PCREL60X                           PE_ARBITRARY         (0x00000015)
#define PE_IMAGE_REL_IA64_PCREL60B                           PE_ARBITRARY         (0x00000016)
#define PE_IMAGE_REL_IA64_PCREL60F                           PE_ARBITRARY         (0x00000017)
#define PE_IMAGE_REL_IA64_PCREL60I                           PE_ARBITRARY         (0x00000018)
#define PE_IMAGE_REL_IA64_PCREL60M                           PE_ARBITRARY         (0x00000019)
#define PE_IMAGE_REL_IA64_IMMGPREL64                         PE_ARBITRARY         (0x0000001a)
#define PE_IMAGE_REL_IA64_TOKEN                              PE_ARBITRARY         (0x0000001b)
#define PE_IMAGE_REL_IA64_GPREL32                            PE_ARBITRARY         (0x0000001c)
#define PE_IMAGE_REL_IA64_ADDEND                             PE_ARBITRARY         (0x0000001f)
#define PE_IMAGE_REL_PPC_ABSOLUTE                            PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_PPC_ADDR64                              PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_PPC_ADDR32                              PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_PPC_ADDR24                              PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_PPC_ADDR16                              PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_PPC_ADDR14                              PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_PPC_REL24                               PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_PPC_REL14                               PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_PPC_ADDR32NB                            PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_PPC_SECREL                              PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_PPC_SECTION                             PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_PPC_SECREL16                            PE_ARBITRARY         (0x0000000f)
#define PE_IMAGE_REL_PPC_REFHI                               PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_REL_PPC_REFLO                               PE_ARBITRARY         (0x00000011)
#define PE_IMAGE_REL_PPC_PAIR                                PE_ARBITRARY         (0x00000012)
#define PE_IMAGE_REL_PPC_SECRELLO                            PE_ARBITRARY         (0x00000013)
#define PE_IMAGE_REL_PPC_GPREL                               PE_ARBITRARY         (0x00000015)
#define PE_IMAGE_REL_PPC_TOKEN                               PE_ARBITRARY         (0x00000016)
#define PE_IMAGE_REL_MIPS_ABSOLUTE                           PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_MIPS_REFHALF                            PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_MIPS_REFWORD                            PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_MIPS_JMPADDR                            PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_MIPS_REFHI                              PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_MIPS_REFLO                              PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_MIPS_GPREL                              PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_MIPS_LITERAL                            PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_MIPS_SECTION                            PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_MIPS_SECREL                             PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_MIPS_SECRELLO                           PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_MIPS_SECRELHI                           PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_REL_MIPS_JMPADDR16                          PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_REL_MIPS_REFWORDNB                          PE_ARBITRARY         (0x00000022)
#define PE_IMAGE_REL_MIPS_PAIR                               PE_ARBITRARY         (0x00000025)
#define PE_IMAGE_REL_M32R_ABSOLUTE                           PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_M32R_ADDR32                             PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_M32R_ADDR32NB                           PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_M32R_ADDR24                             PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_M32R_GPREL16                            PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_M32R_PCREL24                            PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_M32R_PCREL16                            PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_M32R_PCREL8                             PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_M32R_REFHALF                            PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_REL_M32R_REFHI                              PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_M32R_REFLO                              PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_M32R_PAIR                               PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_M32R_SECTION                            PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_M32R_SECREL                             PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_REL_M32R_TOKEN                              PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_REL_AMD64_ABSOLUTE                          PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_REL_AMD64_ADDR64                            PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_REL_AMD64_ADDR32                            PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_REL_AMD64_ADDR32NB                          PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_REL_AMD64_REL32                             PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_REL_AMD64_REL32_1                           PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_REL_AMD64_REL32_2                           PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_REL_AMD64_REL32_3                           PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_REL_AMD64_REL32_4                           PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_REL_AMD64_REL32_5                           PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_REL_AMD64_SECTION                           PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_REL_AMD64_SECREL                            PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_REL_AMD64_SECREL7                           PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_REL_AMD64_TOKEN                             PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_REL_AMD64_SREL32                            PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_REL_AMD64_PAIR                              PE_ARBITRARY         (0x0000000f)
#define PE_IMAGE_REL_AMD64_SSPAN32                           PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_COMDAT_SELECT_NODUPLICATES                  PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_COMDAT_SELECT_ANY                           PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_COMDAT_SELECT_SAME_SIZE                     PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_COMDAT_SELECT_EXACT_MATCH                   PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_COMDAT_SELECT_ASSOCIATIVE                   PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_COMDAT_SELECT_LARGEST                       PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_DLL_RESERVED_X0001                          PE_BITWISE           (0x00000001)
#define PE_IMAGE_DLL_RESERVED_X0002                          PE_BITWISE           (0x00000002)
#define PE_IMAGE_DLL_RESERVED_X0004                          PE_BITWISE           (0x00000004)
#define PE_IMAGE_DLL_RESERVED_X0008                          PE_BITWISE           (0x00000008)
#define PE_IMAGE_DLL_CHARACTERISTICS_DYNAMIC_BASE            PE_BITWISE           (0x00000040)
#define PE_IMAGE_DLL_CHARACTERISTICS_FORCE_INTEGRITY         PE_BITWISE           (0x00000080)
#define PE_IMAGE_DLL_CHARACTERISTICS_NX_COMPAT               PE_BITWISE           (0x00000100)
#define PE_IMAGE_DLL_CHARACTERISTICS_NO_ISOLATION            PE_BITWISE           (0x00000200)
#define PE_IMAGE_DLL_CHARACTERISTICS_NO_SEH                  PE_BITWISE           (0x00000400)
#define PE_IMAGE_DLL_CHARACTERISTICS_NO_BIND                 PE_BITWISE           (0x00000800)
#define PE_IMAGE_DLL_RESERVED_X1000                          PE_BITWISE           (0x00001000)
#define PE_IMAGE_DLL_CHARACTERISTICS_WDM_DRIVER              PE_BITWISE           (0x00002000)
#define PE_IMAGE_DLL_CHARACTERISTICS_TERMINAL_SERVER_AWARE   PE_BITWISE           (0x00008000)
#define PE_IMAGE_FILE_RELOCS_STRIPPED                        PE_BITWISE           (0x00000001)
#define PE_IMAGE_FILE_EXECUTABLE_IMAGE                       PE_BITWISE           (0x00000002)
#define PE_IMAGE_FILE_LINE_NUMS_STRIPPED                     PE_BITWISE           (0x00000004)
#define PE_IMAGE_FILE_LOCAL_SYMS_STRIPPED                    PE_BITWISE           (0x00000008)
#define PE_IMAGE_FILE_AGGRESSIVE_WS_TRIM                     PE_BITWISE           (0x00000010)
#define PE_IMAGE_FILE_LARGE_ADDRESS_AWARE                    PE_BITWISE           (0x00000020)
#define PE_IMAGE_FILE_RESERVED_CHARACTERISTIC                PE_BITWISE           (0x00000040)
#define PE_IMAGE_FILE_BYTES_REVERSED_LO                      PE_BITWISE           (0x00000080)
#define PE_IMAGE_FILE_32BIT_MACHINE                          PE_BITWISE           (0x00000100)
#define PE_IMAGE_FILE_DEBUG_STRIPPED                         PE_BITWISE           (0x00000200)
#define PE_IMAGE_FILE_REMOVABLE_RUN_FROM_SWAP                PE_BITWISE           (0x00000400)
#define PE_IMAGE_FILE_NET_RUN_FROM_SWAP                      PE_BITWISE           (0x00000800)
#define PE_IMAGE_FILE_SYSTEM                                 PE_BITWISE           (0x00001000)
#define PE_IMAGE_FILE_DLL                                    PE_BITWISE           (0x00002000)
#define PE_IMAGE_FILE_UP_SYSTEM_ONLY                         PE_BITWISE           (0x00004000)
#define PE_IMAGE_FILE_BYTES_REVERSED_HI                      PE_BITWISE           (0x00008000)
#define PE_IMAGE_DEBUG_TYPE_UNKNOWN                          PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_DEBUG_TYPE_COFF                             PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_DEBUG_TYPE_CODEVIEW                         PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_DEBUG_TYPE_FPO                              PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_DEBUG_TYPE_MISC                             PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_DEBUG_TYPE_EXCEPTION                        PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_DEBUG_TYPE_FIXUP                            PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_DEBUG_TYPE_OMAP_TO_SRC                      PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_DEBUG_TYPE_OMAP_FROM_SRC                    PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_DEBUG_TYPE_BORLAND                          PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_DEBUG_TYPE_RESERVED10                       PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_DEBUG_TYPE_CLSID                            PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_SUBSYSTEM_UNKNOWN                           PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_SUBSYSTEM_NATIVE                            PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_SUBSYSTEM_WINDOWS_GUI                       PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_SUBSYSTEM_WINDOWS_CUI                       PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_SUBSYSTEM_POSIX_CUI                         PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_SUBSYSTEM_WINDOWS_CE_GUI                    PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_SUBSYSTEM_EFI_APPLICATION                   PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_SUBSYSTEM_EFI_BOOT_SERVICE_DRIVER           PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_SUBSYSTEM_EFI_RUNTIME_DRIVER                PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_SUBSYSTEM_EFI_ROM                           PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_SUBSYSTEM_XBOX                              PE_ARBITRARY         (0x0000000e)
#define PE_IMPORT_ORDINAL                                    PE_ARBITRARY         (0x00000000)
#define PE_IMPORT_NAME                                       PE_ARBITRARY         (0x00000001)
#define PE_IMPORT_NAME_NOPREFIX                              PE_ARBITRARY         (0x00000002)
#define PE_IMPORT_NAME_UNDECORATE                            PE_ARBITRARY         (0x00000003)
#define PE_IMPORT_CODE                                       PE_ARBITRARY         (0x00000000)
#define PE_IMPORT_DATA                                       PE_ARBITRARY         (0x00000001)
#define PE_IMPORT_CONST                                      PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_FILE_MACHINE_UNKNOWN                        PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_FILE_MACHINE_I386                           PE_ARBITRARY         (0x0000014c)
#define PE_IMAGE_FILE_MACHINE_R4000                          PE_ARBITRARY         (0x00000166)
#define PE_IMAGE_FILE_MACHINE_WCEMIPSV2                      PE_ARBITRARY         (0x00000169)
#define PE_IMAGE_FILE_MACHINE_SH3                            PE_ARBITRARY         (0x000001a2)
#define PE_IMAGE_FILE_MACHINE_SH3DSP                         PE_ARBITRARY         (0x000001a3)
#define PE_IMAGE_FILE_MACHINE_SH4                            PE_ARBITRARY         (0x000001a6)
#define PE_IMAGE_FILE_MACHINE_SH5                            PE_ARBITRARY         (0x000001a8)
#define PE_IMAGE_FILE_MACHINE_ARM                            PE_ARBITRARY         (0x000001c0)
#define PE_IMAGE_FILE_MACHINE_THUMB                          PE_ARBITRARY         (0x000001c2)
#define PE_IMAGE_FILE_MACHINE_ARMV7                          PE_ARBITRARY         (0x000001c4)
#define PE_IMAGE_FILE_MACHINE_AM33                           PE_ARBITRARY         (0x000001d3)
#define PE_IMAGE_FILE_MACHINE_POWERPC                        PE_ARBITRARY         (0x000001f0)
#define PE_IMAGE_FILE_MACHINE_POWERPCFP                      PE_ARBITRARY         (0x000001f1)
#define PE_IMAGE_FILE_MACHINE_IA64                           PE_ARBITRARY         (0x00000200)
#define PE_IMAGE_FILE_MACHINE_MIPS16                         PE_ARBITRARY         (0x00000266)
#define PE_IMAGE_FILE_MACHINE_MIPSFPU                        PE_ARBITRARY         (0x00000366)
#define PE_IMAGE_FILE_MACHINE_MIPSFPU16                      PE_ARBITRARY         (0x00000466)
#define PE_IMAGE_FILE_MACHINE_EBC                            PE_ARBITRARY         (0x00000ebc)
#define PE_IMAGE_FILE_MACHINE_AMD64                          PE_ARBITRARY         (0x00008664)
#define PE_IMAGE_FILE_MACHINE_M32R                           PE_ARBITRARY         (0x00009041)
#define PE_MAGIC_ROM_IMAGE                                   PE_ARBITRARY         (0x00000107)
#define PE_MAGIC_PE32                                        PE_ARBITRARY         (0x0000010b)
#define PE_MAGIC_PE32_PLUS                                   PE_ARBITRARY         (0x0000020b)
#define PE_IMAGE_SCN_RESERVED_X00000001                      PE_BITWISE           (0x00000001)
#define PE_IMAGE_SCN_RESERVED_X00000002                      PE_BITWISE           (0x00000002)
#define PE_IMAGE_SCN_RESERVED_X00000004                      PE_BITWISE           (0x00000004)
#define PE_IMAGE_SCN_TYPE_NO_PAD                             PE_BITWISE           (0x00000008)
#define PE_IMAGE_SCN_RESERVED_X00000010                      PE_BITWISE           (0x00000010)
#define PE_IMAGE_SCN_CNT_CODE                                PE_BITWISE           (0x00000020)
#define PE_IMAGE_SCN_CNT_INITIALIZED_DATA                    PE_BITWISE           (0x00000040)
#define PE_IMAGE_SCN_CNT_UNINITIALIZED_DATA                  PE_BITWISE           (0x00000080)
#define PE_IMAGE_SCN_LNK_OTHER                               PE_BITWISE           (0x00000100)
#define PE_IMAGE_SCN_LNK_INFO                                PE_BITWISE           (0x00000200)
#define PE_IMAGE_SCN_RESERVED_X00000400                      PE_BITWISE           (0x00000400)
#define PE_IMAGE_SCN_LNK_REMOVE                              PE_BITWISE           (0x00000800)
#define PE_IMAGE_SCN_LNK_COMDAT                              PE_BITWISE           (0x00001000)
#define PE_IMAGE_SCN_GPREL                                   PE_BITWISE           (0x00008000)
#define PE_IMAGE_SCN_MEM_PURGEABLE                           PE_BITWISE           (0x00020000)
#define PE_IMAGE_SCN_MEM_16BIT                               PE_BITWISE           (0x00020000)
#define PE_IMAGE_SCN_MEM_LOCKED                              PE_BITWISE           (0x00040000)
#define PE_IMAGE_SCN_MEM_PRELOAD                             PE_BITWISE           (0x00080000)
#define PE_IMAGE_SCN_ALIGN_1BYTES                            PE_BITWISE           (0x00100000)
#define PE_IMAGE_SCN_ALIGN_2BYTES                            PE_BITWISE           (0x00200000)
#define PE_IMAGE_SCN_ALIGN_4BYTES                            PE_BITWISE           (0x00300000)
#define PE_IMAGE_SCN_ALIGN_8BYTES                            PE_BITWISE           (0x00400000)
#define PE_IMAGE_SCN_ALIGN_16BYTES                           PE_BITWISE           (0x00500000)
#define PE_IMAGE_SCN_ALIGN_32BYTES                           PE_BITWISE           (0x00600000)
#define PE_IMAGE_SCN_ALIGN_64BYTES                           PE_BITWISE           (0x00700000)
#define PE_IMAGE_SCN_ALIGN_128BYTES                          PE_BITWISE           (0x00800000)
#define PE_IMAGE_SCN_ALIGN_256BYTES                          PE_BITWISE           (0x00900000)
#define PE_IMAGE_SCN_ALIGN_512BYTES                          PE_BITWISE           (0x00a00000)
#define PE_IMAGE_SCN_ALIGN_1024BYTES                         PE_BITWISE           (0x00b00000)
#define PE_IMAGE_SCN_ALIGN_2048BYTES                         PE_BITWISE           (0x00c00000)
#define PE_IMAGE_SCN_ALIGN_4096BYTES                         PE_BITWISE           (0x00d00000)
#define PE_IMAGE_SCN_ALIGN_8192BYTES                         PE_BITWISE           (0x00e00000)
#define PE_IMAGE_SCN_LNK_NRELOC_OVFL                         PE_BITWISE           (0x01000000)
#define PE_IMAGE_SCN_MEM_DISCARDABLE                         PE_BITWISE           (0x02000000)
#define PE_IMAGE_SCN_MEM_NOT_CACHED                          PE_BITWISE           (0x04000000)
#define PE_IMAGE_SCN_MEM_NOT_PAGED                           PE_BITWISE           (0x08000000)
#define PE_IMAGE_SCN_MEM_SHARED                              PE_BITWISE           (0x10000000)
#define PE_IMAGE_SCN_MEM_EXECUTE                             PE_BITWISE           (0x20000000)
#define PE_IMAGE_SCN_MEM_READ                                PE_BITWISE           (0x40000000)
#define PE_IMAGE_SCN_MEM_WRITE                               PE_BITWISE           (0x80000000)
#define PE_IMAGE_SYM_DEBUG                                   PE_ARBITRARY         (        -2)
#define PE_IMAGE_SYM_ABSOLUTE                                PE_ARBITRARY         (        -1)
#define PE_IMAGE_SYM_UNDEFINED                               PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_SYM_CLASS_NULL                              PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_SYM_CLASS_AUTOMATIC                         PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_SYM_CLASS_EXTERNAL                          PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_SYM_CLASS_STATIC                            PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_SYM_CLASS_REGISTER                          PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_SYM_CLASS_EXTERNAL_DEF                      PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_SYM_CLASS_LABEL                             PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_SYM_CLASS_UNDEFINED_LABEL                   PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_SYM_CLASS_MEMBER_OF_STRUCT                  PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_SYM_CLASS_ARGUMENT                          PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_SYM_CLASS_STRUCT_TAG                        PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_SYM_CLASS_MEMBER_OF_UNION                   PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_SYM_CLASS_UNION_TAG                         PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_SYM_CLASS_TYPE_DEFINITION                   PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_SYM_CLASS_UNDEFINED_STATIC                  PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_SYM_CLASS_ENUM_TAG                          PE_ARBITRARY         (0x0000000f)
#define PE_IMAGE_SYM_CLASS_MEMBER_OF_ENUM                    PE_ARBITRARY         (0x00000010)
#define PE_IMAGE_SYM_CLASS_REGISTER_PARAM                    PE_ARBITRARY         (0x00000011)
#define PE_IMAGE_SYM_CLASS_BIT_FIELD                         PE_ARBITRARY         (0x00000012)
#define PE_IMAGE_SYM_CLASS_BLOCK                             PE_ARBITRARY         (0x00000064)
#define PE_IMAGE_SYM_CLASS_FUNCTION                          PE_ARBITRARY         (0x00000065)
#define PE_IMAGE_SYM_CLASS_END_OF_STRUCT                     PE_ARBITRARY         (0x00000066)
#define PE_IMAGE_SYM_CLASS_FILE                              PE_ARBITRARY         (0x00000067)
#define PE_IMAGE_SYM_CLASS_SECTION                           PE_ARBITRARY         (0x00000068)
#define PE_IMAGE_SYM_CLASS_WEAK_EXTERN                       PE_ARBITRARY         (0x00000069)
#define PE_IMAGE_SYM_CLASS_CLR_TOKEN                         PE_ARBITRARY         (0x0000006b)
#define PE_IMAGE_SYM_CLASS_END_OF_FUNC                       PE_ARBITRARY         (0x000000ff)
#define PE_IMAGE_SYM_TYPE_NULL                               PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_SYM_TYPE_VOID                               PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_SYM_TYPE_CHAR                               PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_SYM_TYPE_SHORT                              PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_SYM_TYPE_INT                                PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_SYM_TYPE_LONG                               PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_SYM_TYPE_FLOAT                              PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_SYM_TYPE_DOUBLE                             PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_SYM_TYPE_STRUCT                             PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_SYM_TYPE_UNION                              PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_SYM_TYPE_ENUM                               PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_SYM_TYPE_MOE                                PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_SYM_TYPE_BYTE                               PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_SYM_TYPE_WORD                               PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_SYM_TYPE_UINT                               PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_SYM_TYPE_DWORD                              PE_ARBITRARY         (0x0000000f)
#define PE_IMAGE_SYM_DTYPE_NULL                              PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_SYM_DTYPE_POINTER                           PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_SYM_DTYPE_FUNCTION                          PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_SYM_DTYPE_ARRAY                             PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_DATA_DIR_ORDINAL_EXPORT                     PE_ARBITRARY         (0x00000000)
#define PE_IMAGE_DATA_DIR_ORDINAL_IMPORT                     PE_ARBITRARY         (0x00000001)
#define PE_IMAGE_DATA_DIR_ORDINAL_RESOURCE                   PE_ARBITRARY         (0x00000002)
#define PE_IMAGE_DATA_DIR_ORDINAL_EXCEPTION                  PE_ARBITRARY         (0x00000003)
#define PE_IMAGE_DATA_DIR_ORDINAL_CERTIFICATE                PE_ARBITRARY         (0x00000004)
#define PE_IMAGE_DATA_DIR_ORDINAL_BASE_RELOCATION            PE_ARBITRARY         (0x00000005)
#define PE_IMAGE_DATA_DIR_ORDINAL_DEBUG                      PE_ARBITRARY         (0x00000006)
#define PE_IMAGE_DATA_DIR_ORDINAL_ARCHITECTURE               PE_ARBITRARY         (0x00000007)
#define PE_IMAGE_DATA_DIR_ORDINAL_GLOBAL_PTR                 PE_ARBITRARY         (0x00000008)
#define PE_IMAGE_DATA_DIR_ORDINAL_TLS                        PE_ARBITRARY         (0x00000009)
#define PE_IMAGE_DATA_DIR_ORDINAL_LOAD_CONFIG                PE_ARBITRARY         (0x0000000a)
#define PE_IMAGE_DATA_DIR_ORDINAL_BOUND_IMPORT               PE_ARBITRARY         (0x0000000b)
#define PE_IMAGE_DATA_DIR_ORDINAL_IAT                        PE_ARBITRARY         (0x0000000c)
#define PE_IMAGE_DATA_DIR_ORDINAL_DELAY_IMPORT_DESCRIPTOR    PE_ARBITRARY         (0x0000000d)
#define PE_IMAGE_DATA_DIR_ORDINAL_CLR_RUNTIME_HEADER         PE_ARBITRARY         (0x0000000e)
#define PE_IMAGE_DATA_DIR_ORDINAL_RESERVED                   PE_ARBITRARY         (0x0000000f)

#endif