mediumlevelilinstruction.h File Reference

Classes

struct  BinaryNinja::MediumLevelILInstructionAccessor< N >
 
struct  BinaryNinja::SSAVariable
 
struct  std::hash< BinaryNinja::SSAVariable >
 
struct  std::hash< BNMediumLevelILOperation >
 
struct  std::hash< BinaryNinja::MediumLevelILOperandUsage >
 
class  BinaryNinja::MediumLevelILInstructionAccessException
 
class  BinaryNinja::MediumLevelILIntegerList
 
class  BinaryNinja::MediumLevelILIndexList
 
class  BinaryNinja::MediumLevelILIndexMap
 
class  BinaryNinja::MediumLevelILVariableList
 
class  BinaryNinja::MediumLevelILSSAVariableList
 
class  BinaryNinja::MediumLevelILInstructionList
 
struct  BinaryNinja::MediumLevelILInstructionBase
 
struct  BinaryNinja::MediumLevelILInstruction
 
class  BinaryNinja::MediumLevelILOperand
 
class  BinaryNinja::MediumLevelILOperandList
 
struct  BinaryNinja::MediumLevelILConstantInstruction
 
struct  BinaryNinja::MediumLevelILOneOperandInstruction
 
struct  BinaryNinja::MediumLevelILTwoOperandInstruction
 
struct  BinaryNinja::MediumLevelILTwoOperandWithCarryInstruction
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_SPLIT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_SSA_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_SPLIT_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_ALIASED >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SET_VAR_ALIASED_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LOAD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LOAD_STRUCT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LOAD_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LOAD_STRUCT_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_STORE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_STORE_STRUCT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_STORE_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_STORE_STRUCT_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_SPLIT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_SSA_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_ALIASED >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_ALIASED_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_SPLIT_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ADDRESS_OF >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ADDRESS_OF_FIELD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_JUMP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_JUMP_TO >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_RET_HINT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CALL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CALL_UNTYPED >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SYSCALL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SYSCALL_UNTYPED >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_TAILCALL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_TAILCALL_UNTYPED >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CALL_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CALL_UNTYPED_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SYSCALL_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SYSCALL_UNTYPED_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_TAILCALL_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_TAILCALL_UNTYPED_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_RET >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_IF >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_GOTO >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_INTRINSIC >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_INTRINSIC_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FREE_VAR_SLOT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FREE_VAR_SLOT_SSA >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_TRAP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_VAR_PHI >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MEM_PHI >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_EXTERN_PTR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_NOP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_NORET >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_BP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_UNDEF >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_UNIMPL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CONST >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CONST_PTR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FLOAT_CONST >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_IMPORT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ADD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SUB >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_AND >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_OR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_XOR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LSL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LSR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ASR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ROL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ROR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MUL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MULU_DP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MULS_DP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_DIVU >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_DIVS >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MODU >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MODS >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_DIVU_DP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_DIVS_DP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MODU_DP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_MODS_DP >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_E >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_NE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_SLT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_ULT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_SLE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_ULE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_SGE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_UGE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_SGT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CMP_UGT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_TEST_BIT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ADD_OVERFLOW >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FADD >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FSUB >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FMUL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FDIV >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_E >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_NE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_LT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_LE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_GE >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_GT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_O >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FCMP_UO >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ADC >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SBB >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_RLC >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_RRC >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_NEG >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_NOT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_SX >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ZX >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_LOW_PART >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_BOOL_TO_INT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_UNIMPL_MEM >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FSQRT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FNEG >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FABS >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FLOAT_TO_INT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_INT_TO_FLOAT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FLOAT_CONV >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_ROUND_TO_INT >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FLOOR >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_CEIL >
 
struct  BinaryNinja::MediumLevelILInstructionAccessor< MLIL_FTRUNC >
 

Namespaces

namespace  BinaryNinja
 
namespace  std
 

Macros

#define _STD_VECTOR   std::vector
 
#define _STD_SET   std::set
 
#define _STD_UNORDERED_MAP   std::unordered_map
 
#define _STD_MAP   std::map
 

Enumerations

enum  BinaryNinja::MediumLevelILOperandType {
  BinaryNinja::IntegerMediumLevelOperand , BinaryNinja::IndexMediumLevelOperand , BinaryNinja::IntrinsicMediumLevelOperand , BinaryNinja::ExprMediumLevelOperand ,
  BinaryNinja::VariableMediumLevelOperand , BinaryNinja::SSAVariableMediumLevelOperand , BinaryNinja::IndexListMediumLevelOperand , BinaryNinja::IndexMapMediumLevelOperand ,
  BinaryNinja::VariableListMediumLevelOperand , BinaryNinja::SSAVariableListMediumLevelOperand , BinaryNinja::ExprListMediumLevelOperand
}
 
enum  BinaryNinja::MediumLevelILOperandUsage {
  BinaryNinja::SourceExprMediumLevelOperandUsage , BinaryNinja::SourceVariableMediumLevelOperandUsage , BinaryNinja::SourceSSAVariableMediumLevelOperandUsage , BinaryNinja::PartialSSAVariableSourceMediumLevelOperandUsage ,
  BinaryNinja::DestExprMediumLevelOperandUsage , BinaryNinja::DestVariableMediumLevelOperandUsage , BinaryNinja::DestSSAVariableMediumLevelOperandUsage , BinaryNinja::LeftExprMediumLevelOperandUsage ,
  BinaryNinja::RightExprMediumLevelOperandUsage , BinaryNinja::CarryExprMediumLevelOperandUsage , BinaryNinja::StackExprMediumLevelOperandUsage , BinaryNinja::ConditionExprMediumLevelOperandUsage ,
  BinaryNinja::HighVariableMediumLevelOperandUsage , BinaryNinja::LowVariableMediumLevelOperandUsage , BinaryNinja::HighSSAVariableMediumLevelOperandUsage , BinaryNinja::LowSSAVariableMediumLevelOperandUsage ,
  BinaryNinja::OffsetMediumLevelOperandUsage , BinaryNinja::ConstantMediumLevelOperandUsage , BinaryNinja::VectorMediumLevelOperandUsage , BinaryNinja::IntrinsicMediumLevelOperandUsage ,
  BinaryNinja::TargetMediumLevelOperandUsage , BinaryNinja::TrueTargetMediumLevelOperandUsage , BinaryNinja::FalseTargetMediumLevelOperandUsage , BinaryNinja::DestMemoryVersionMediumLevelOperandUsage ,
  BinaryNinja::SourceMemoryVersionMediumLevelOperandUsage , BinaryNinja::TargetsMediumLevelOperandUsage , BinaryNinja::SourceMemoryVersionsMediumLevelOperandUsage , BinaryNinja::OutputVariablesMediumLevelOperandUsage ,
  BinaryNinja::OutputVariablesSubExprMediumLevelOperandUsage , BinaryNinja::OutputSSAVariablesMediumLevelOperandUsage , BinaryNinja::OutputSSAVariablesSubExprMediumLevelOperandUsage , BinaryNinja::OutputSSAMemoryVersionMediumLevelOperandUsage ,
  BinaryNinja::ParameterExprsMediumLevelOperandUsage , BinaryNinja::SourceExprsMediumLevelOperandUsage , BinaryNinja::ParameterVariablesMediumLevelOperandUsage , BinaryNinja::ParameterSSAVariablesMediumLevelOperandUsage ,
  BinaryNinja::ParameterSSAMemoryVersionMediumLevelOperandUsage , BinaryNinja::SourceSSAVariablesMediumLevelOperandUsages
}
 

Class Documentation

◆ BinaryNinja::MediumLevelILInstructionAccessor

struct BinaryNinja::MediumLevelILInstructionAccessor

Macro Definition Documentation

◆ _STD_MAP

#define _STD_MAP   std::map

◆ _STD_SET

#define _STD_SET   std::set

◆ _STD_UNORDERED_MAP

#define _STD_UNORDERED_MAP   std::unordered_map

◆ _STD_VECTOR

#define _STD_VECTOR   std::vector