Struct idalib_sys::pod::insn_t

#[repr(C)]
pub struct insn_t { pub cs: ea_t, pub ip: ea_t, pub ea: ea_t, pub itype: uint16, pub size: uint16, pub __bindgen_anon_1: insn_t__bindgen_ty_1, pub segpref: c_char, pub insnpref: c_char, pub flags: int16, pub ops: [op_t; 8], }
Expand description

Structure to hold information about an instruction. \ingroup instruction This structure is filled by the analysis step of IDP and used by the emulation and conversion to text steps. The kernel uses this structure too. All structure fields except #cs, #ip, #ea, and op_t::n,op_t::flags of #ops are initialized to zero by the kernel. The rest should be filled by ana().

Fields§

§cs: ea_t

Current segment base paragraph. Initialized by the kernel.

§ip: ea_t

Virtual address of the instruction (address within the segment). Initialized by the kernel.

§ea: ea_t

Linear address of the instruction. Initialized by the kernel.

§itype: uint16

Internal code of instruction (only for canonical insns - not user defined!). IDP should define its own instruction codes. These codes are usually defined in ins.hpp. The array of instruction names and features (ins.cpp) is accessed using this code.

§size: uint16

Size of instruction in bytes. The analyzer should put here the actual size of the instruction.

§__bindgen_anon_1: insn_t__bindgen_ty_1§segpref: c_char

< processor dependent field

§insnpref: c_char

< processor dependent field

§flags: int16

< \ref INSN_

§ops: [op_t; 8]

< array of operands

Trait Implementations§

§

impl Clone for insn_t

§

fn clone(&self) -> insn_t

Returns a copy of the value. Read more
1.0.0 · source§

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

Performs copy-assignment from source. Read more
§

impl ExternType for insn_t

§

type Id = (i, n, s, n, __, t)

A type-level representation of the type’s C++ namespace and type name. Read more
§

type Kind = Trivial

§

impl Copy for insn_t

Auto Trait Implementations§

§

impl Freeze for insn_t

§

impl RefUnwindSafe for insn_t

§

impl Send for insn_t

§

impl Sync for insn_t

§

impl Unpin for insn_t

§

impl UnwindSafe for insn_t

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, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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.
§

impl<T> WithinBoxTrivial for T
where T: ExternType<Kind = Trivial> + Unpin,

§

fn within_box(self) -> Pin<Box<T>>