#ifndef LIEF_MACHO_ENUMS_H_ #define LIEF_MACHO_ENUMS_H_ #include "LIEF/MachO/undef.h" #include "LIEF/enums.hpp" namespace LIEF { namespace MachO { @LIEF_MACHO_ENUMS@ static const HEADER_FLAGS header_flags_array[] = { HEADER_FLAGS::MH_NOUNDEFS, HEADER_FLAGS::MH_INCRLINK, HEADER_FLAGS::MH_DYLDLINK, HEADER_FLAGS::MH_BINDATLOAD, HEADER_FLAGS::MH_PREBOUND, HEADER_FLAGS::MH_SPLIT_SEGS, HEADER_FLAGS::MH_LAZY_INIT, HEADER_FLAGS::MH_TWOLEVEL, HEADER_FLAGS::MH_FORCE_FLAT, HEADER_FLAGS::MH_NOMULTIDEFS, HEADER_FLAGS::MH_NOFIXPREBINDING, HEADER_FLAGS::MH_PREBINDABLE, HEADER_FLAGS::MH_ALLMODSBOUND, HEADER_FLAGS::MH_SUBSECTIONS_VIA_SYMBOLS, HEADER_FLAGS::MH_CANONICAL, HEADER_FLAGS::MH_WEAK_DEFINES, HEADER_FLAGS::MH_BINDS_TO_WEAK, HEADER_FLAGS::MH_ALLOW_STACK_EXECUTION, HEADER_FLAGS::MH_ROOT_SAFE, HEADER_FLAGS::MH_SETUID_SAFE, HEADER_FLAGS::MH_NO_REEXPORTED_DYLIBS, HEADER_FLAGS::MH_PIE, HEADER_FLAGS::MH_DEAD_STRIPPABLE_DYLIB, HEADER_FLAGS::MH_HAS_TLV_DESCRIPTORS, HEADER_FLAGS::MH_NO_HEAP_EXECUTION, HEADER_FLAGS::MH_APP_EXTENSION_SAFE }; static const MACHO_SECTION_FLAGS section_flags_array[] = { MACHO_SECTION_FLAGS::S_ATTR_PURE_INSTRUCTIONS, MACHO_SECTION_FLAGS::S_ATTR_NO_TOC, MACHO_SECTION_FLAGS::S_ATTR_STRIP_STATIC_SYMS, MACHO_SECTION_FLAGS::S_ATTR_NO_DEAD_STRIP, MACHO_SECTION_FLAGS::S_ATTR_LIVE_SUPPORT, MACHO_SECTION_FLAGS::S_ATTR_SELF_MODIFYING_CODE, MACHO_SECTION_FLAGS::S_ATTR_DEBUG, MACHO_SECTION_FLAGS::S_ATTR_SOME_INSTRUCTIONS, MACHO_SECTION_FLAGS::S_ATTR_EXT_RELOC, MACHO_SECTION_FLAGS::S_ATTR_LOC_RELOC }; static const EXPORT_SYMBOL_FLAGS export_symbol_flags[] = { EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_WEAK_DEFINITION, EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_REEXPORT, EXPORT_SYMBOL_FLAGS::EXPORT_SYMBOL_FLAGS_STUB_AND_RESOLVER, }; } } ENABLE_BITMASK_OPERATORS(LIEF::MachO::EXPORT_SYMBOL_FLAGS) ENABLE_BITMASK_OPERATORS(LIEF::MachO::MACHO_SECTION_FLAGS) ENABLE_BITMASK_OPERATORS(LIEF::MachO::HEADER_FLAGS) ENABLE_BITMASK_OPERATORS(LIEF::MachO::REBASE_OPCODES) ENABLE_BITMASK_OPERATORS(LIEF::MachO::BIND_OPCODES) #endif