Skip to main content

BNHighLevelILOperation

Enum BNHighLevelILOperation 

Source
#[repr(u8)]
pub enum BNHighLevelILOperation {
Show 142 variants HLIL_NOP = 0, HLIL_BLOCK = 1, HLIL_IF = 2, HLIL_WHILE = 3, HLIL_DO_WHILE = 4, HLIL_FOR = 5, HLIL_SWITCH = 6, HLIL_CASE = 7, HLIL_BREAK = 8, HLIL_CONTINUE = 9, HLIL_JUMP = 10, HLIL_RET = 11, HLIL_NORET = 12, HLIL_GOTO = 13, HLIL_LABEL = 14, HLIL_VAR_DECLARE = 15, HLIL_VAR_INIT = 16, HLIL_ASSIGN = 17, HLIL_ASSIGN_UNPACK = 18, HLIL_FORCE_VER = 19, HLIL_ASSERT = 20, HLIL_VAR = 21, HLIL_STRUCT_FIELD = 22, HLIL_ARRAY_INDEX = 23, HLIL_SPLIT = 24, HLIL_DEREF = 25, HLIL_DEREF_FIELD = 26, HLIL_ADDRESS_OF = 27, HLIL_PASS_BY_REF = 28, HLIL_RETURN_BY_REF = 29, HLIL_CONST = 30, HLIL_CONST_DATA = 31, HLIL_CONST_PTR = 32, HLIL_EXTERN_PTR = 33, HLIL_FLOAT_CONST = 34, HLIL_IMPORT = 35, HLIL_ADD = 36, HLIL_ADC = 37, HLIL_SUB = 38, HLIL_SBB = 39, HLIL_AND = 40, HLIL_OR = 41, HLIL_XOR = 42, HLIL_LSL = 43, HLIL_LSR = 44, HLIL_ASR = 45, HLIL_ROL = 46, HLIL_RLC = 47, HLIL_ROR = 48, HLIL_RRC = 49, HLIL_MUL = 50, HLIL_MULU_DP = 51, HLIL_MULS_DP = 52, HLIL_DIVU = 53, HLIL_DIVU_DP = 54, HLIL_DIVS = 55, HLIL_DIVS_DP = 56, HLIL_MODU = 57, HLIL_MODU_DP = 58, HLIL_MODS = 59, HLIL_MODS_DP = 60, HLIL_NEG = 61, HLIL_NOT = 62, HLIL_SX = 63, HLIL_ZX = 64, HLIL_LOW_PART = 65, HLIL_CALL = 66, HLIL_CMP_E = 67, HLIL_CMP_NE = 68, HLIL_CMP_SLT = 69, HLIL_CMP_ULT = 70, HLIL_CMP_SLE = 71, HLIL_CMP_ULE = 72, HLIL_CMP_SGE = 73, HLIL_CMP_UGE = 74, HLIL_CMP_SGT = 75, HLIL_CMP_UGT = 76, HLIL_TEST_BIT = 77, HLIL_BOOL_TO_INT = 78, HLIL_ADD_OVERFLOW = 79, HLIL_SYSCALL = 80, HLIL_TAILCALL = 81, HLIL_INTRINSIC = 82, HLIL_BP = 83, HLIL_TRAP = 84, HLIL_UNDEF = 85, HLIL_UNIMPL = 86, HLIL_UNIMPL_MEM = 87, HLIL_STRUCT_INIT = 88, HLIL_STRUCT_INIT_FIELD = 89, HLIL_FADD = 90, HLIL_FSUB = 91, HLIL_FMUL = 92, HLIL_FDIV = 93, HLIL_FSQRT = 94, HLIL_FNEG = 95, HLIL_FABS = 96, HLIL_FLOAT_TO_INT = 97, HLIL_INT_TO_FLOAT = 98, HLIL_FLOAT_CONV = 99, HLIL_ROUND_TO_INT = 100, HLIL_FLOOR = 101, HLIL_CEIL = 102, HLIL_FTRUNC = 103, HLIL_FCMP_E = 104, HLIL_FCMP_NE = 105, HLIL_FCMP_LT = 106, HLIL_FCMP_LE = 107, HLIL_FCMP_GE = 108, HLIL_FCMP_GT = 109, HLIL_FCMP_O = 110, HLIL_FCMP_UO = 111, HLIL_UNREACHABLE = 112, HLIL_WHILE_SSA = 113, HLIL_DO_WHILE_SSA = 114, HLIL_FOR_SSA = 115, HLIL_VAR_INIT_SSA = 116, HLIL_ASSIGN_MEM_SSA = 117, HLIL_ASSIGN_UNPACK_MEM_SSA = 118, HLIL_FORCE_VER_SSA = 119, HLIL_ASSERT_SSA = 120, HLIL_VAR_SSA = 121, HLIL_VAR_SSA_PARTIAL = 122, HLIL_ARRAY_INDEX_SSA = 123, HLIL_DEREF_SSA = 124, HLIL_DEREF_FIELD_SSA = 125, HLIL_CALL_SSA = 126, HLIL_SYSCALL_SSA = 127, HLIL_INTRINSIC_SSA = 128, HLIL_VAR_PHI = 129, HLIL_MEM_PHI = 130, HLIL_BSWAP = 131, HLIL_POPCNT = 132, HLIL_CLZ = 133, HLIL_CTZ = 134, HLIL_RBIT = 135, HLIL_CLS = 136, HLIL_MINS = 137, HLIL_MAXS = 138, HLIL_MINU = 139, HLIL_MAXU = 140, HLIL_ABS = 141,
}

Variants§

§

HLIL_NOP = 0

§

HLIL_BLOCK = 1

§

HLIL_IF = 2

§

HLIL_WHILE = 3

§

HLIL_DO_WHILE = 4

§

HLIL_FOR = 5

§

HLIL_SWITCH = 6

§

HLIL_CASE = 7

§

HLIL_BREAK = 8

§

HLIL_CONTINUE = 9

§

HLIL_JUMP = 10

§

HLIL_RET = 11

§

HLIL_NORET = 12

§

HLIL_GOTO = 13

§

HLIL_LABEL = 14

§

HLIL_VAR_DECLARE = 15

§

HLIL_VAR_INIT = 16

§

HLIL_ASSIGN = 17

§

HLIL_ASSIGN_UNPACK = 18

§

HLIL_FORCE_VER = 19

§

HLIL_ASSERT = 20

§

HLIL_VAR = 21

§

HLIL_STRUCT_FIELD = 22

§

HLIL_ARRAY_INDEX = 23

§

HLIL_SPLIT = 24

§

HLIL_DEREF = 25

§

HLIL_DEREF_FIELD = 26

§

HLIL_ADDRESS_OF = 27

§

HLIL_PASS_BY_REF = 28

§

HLIL_RETURN_BY_REF = 29

§

HLIL_CONST = 30

§

HLIL_CONST_DATA = 31

§

HLIL_CONST_PTR = 32

§

HLIL_EXTERN_PTR = 33

§

HLIL_FLOAT_CONST = 34

§

HLIL_IMPORT = 35

§

HLIL_ADD = 36

§

HLIL_ADC = 37

§

HLIL_SUB = 38

§

HLIL_SBB = 39

§

HLIL_AND = 40

§

HLIL_OR = 41

§

HLIL_XOR = 42

§

HLIL_LSL = 43

§

HLIL_LSR = 44

§

HLIL_ASR = 45

§

HLIL_ROL = 46

§

HLIL_RLC = 47

§

HLIL_ROR = 48

§

HLIL_RRC = 49

§

HLIL_MUL = 50

§

HLIL_MULU_DP = 51

§

HLIL_MULS_DP = 52

§

HLIL_DIVU = 53

§

HLIL_DIVU_DP = 54

§

HLIL_DIVS = 55

§

HLIL_DIVS_DP = 56

§

HLIL_MODU = 57

§

HLIL_MODU_DP = 58

§

HLIL_MODS = 59

§

HLIL_MODS_DP = 60

§

HLIL_NEG = 61

§

HLIL_NOT = 62

§

HLIL_SX = 63

§

HLIL_ZX = 64

§

HLIL_LOW_PART = 65

§

HLIL_CALL = 66

§

HLIL_CMP_E = 67

§

HLIL_CMP_NE = 68

§

HLIL_CMP_SLT = 69

§

HLIL_CMP_ULT = 70

§

HLIL_CMP_SLE = 71

§

HLIL_CMP_ULE = 72

§

HLIL_CMP_SGE = 73

§

HLIL_CMP_UGE = 74

§

HLIL_CMP_SGT = 75

§

HLIL_CMP_UGT = 76

§

HLIL_TEST_BIT = 77

§

HLIL_BOOL_TO_INT = 78

§

HLIL_ADD_OVERFLOW = 79

§

HLIL_SYSCALL = 80

§

HLIL_TAILCALL = 81

§

HLIL_INTRINSIC = 82

§

HLIL_BP = 83

§

HLIL_TRAP = 84

§

HLIL_UNDEF = 85

§

HLIL_UNIMPL = 86

§

HLIL_UNIMPL_MEM = 87

§

HLIL_STRUCT_INIT = 88

§

HLIL_STRUCT_INIT_FIELD = 89

Only valid in HLIL_STRUCT_INIT

§

HLIL_FADD = 90

Floating point

§

HLIL_FSUB = 91

Floating point

§

HLIL_FMUL = 92

Floating point

§

HLIL_FDIV = 93

Floating point

§

HLIL_FSQRT = 94

Floating point

§

HLIL_FNEG = 95

Floating point

§

HLIL_FABS = 96

Floating point

§

HLIL_FLOAT_TO_INT = 97

Floating point

§

HLIL_INT_TO_FLOAT = 98

Floating point

§

HLIL_FLOAT_CONV = 99

Floating point

§

HLIL_ROUND_TO_INT = 100

Floating point

§

HLIL_FLOOR = 101

Floating point

§

HLIL_CEIL = 102

Floating point

§

HLIL_FTRUNC = 103

Floating point

§

HLIL_FCMP_E = 104

Floating point

§

HLIL_FCMP_NE = 105

Floating point

§

HLIL_FCMP_LT = 106

Floating point

§

HLIL_FCMP_LE = 107

Floating point

§

HLIL_FCMP_GE = 108

Floating point

§

HLIL_FCMP_GT = 109

Floating point

§

HLIL_FCMP_O = 110

Floating point

§

HLIL_FCMP_UO = 111

Floating point

§

HLIL_UNREACHABLE = 112

Unreachable hint, typically used in switch statements that analysis knows has an unreachable default.

§

HLIL_WHILE_SSA = 113

The following instructions are only used in SSA form

§

HLIL_DO_WHILE_SSA = 114

The following instructions are only used in SSA form

§

HLIL_FOR_SSA = 115

The following instructions are only used in SSA form

§

HLIL_VAR_INIT_SSA = 116

The following instructions are only used in SSA form

§

HLIL_ASSIGN_MEM_SSA = 117

The following instructions are only used in SSA form

§

HLIL_ASSIGN_UNPACK_MEM_SSA = 118

The following instructions are only used in SSA form

§

HLIL_FORCE_VER_SSA = 119

The following instructions are only used in SSA form

§

HLIL_ASSERT_SSA = 120

The following instructions are only used in SSA form

§

HLIL_VAR_SSA = 121

The following instructions are only used in SSA form

§

HLIL_VAR_SSA_PARTIAL = 122

The following instructions are only used in SSA form

§

HLIL_ARRAY_INDEX_SSA = 123

The following instructions are only used in SSA form

§

HLIL_DEREF_SSA = 124

The following instructions are only used in SSA form

§

HLIL_DEREF_FIELD_SSA = 125

The following instructions are only used in SSA form

§

HLIL_CALL_SSA = 126

The following instructions are only used in SSA form

§

HLIL_SYSCALL_SSA = 127

The following instructions are only used in SSA form

§

HLIL_INTRINSIC_SSA = 128

The following instructions are only used in SSA form

§

HLIL_VAR_PHI = 129

The following instructions are only used in SSA form

§

HLIL_MEM_PHI = 130

The following instructions are only used in SSA form

§

HLIL_BSWAP = 131

Reverse byte order of the whole value

§

HLIL_POPCNT = 132

Population count (number of set bits)

§

HLIL_CLZ = 133

Count leading zero bits; clz(0) == 8 * size

§

HLIL_CTZ = 134

Count trailing zero bits; ctz(0) == 8 * size

§

HLIL_RBIT = 135

Reverse bit order of the whole value

§

HLIL_CLS = 136

Count leading sign bits; number of bits below the sign bit that match it

§

HLIL_MINS = 137

Signed minimum of left and right

§

HLIL_MAXS = 138

Signed maximum of left and right

§

HLIL_MINU = 139

Unsigned minimum of left and right

§

HLIL_MAXU = 140

Unsigned maximum of left and right

§

HLIL_ABS = 141

Signed absolute value of src; abs(INT_MIN) == INT_MIN

Trait Implementations§

Source§

impl Clone for BNHighLevelILOperation

Source§

fn clone(&self) -> BNHighLevelILOperation

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Copy for BNHighLevelILOperation

Source§

impl Debug for BNHighLevelILOperation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for BNHighLevelILOperation

Source§

impl Hash for BNHighLevelILOperation

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for BNHighLevelILOperation

Source§

fn eq(&self, other: &BNHighLevelILOperation) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for BNHighLevelILOperation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.