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 ExternType for insn_t
impl ExternType for insn_t
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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)