Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon
Stack variable flags

Passed as 'flags' parameter to create_stkvar() More...

Functions

void insn_t::add_cref (ea_t to, int opoff, cref_t type) const
 Add a code cross-reference from the instruction. More...
 
void insn_t::add_dref (ea_t to, int opoff, dref_t type) const
 Add a data cross-reference from the instruction. More...
 
ea_t insn_t::add_off_drefs (const op_t &x, dref_t type, int outf) const
 Add xrefs for an operand of the instruction. More...
 

Emulator helpers

#define STKVAR_VALID_SIZE   0x0001
 x.dtype contains correct variable type (for insns like 'lea' this bit must be off). More...
 

Detailed Description

Passed as 'flags' parameter to create_stkvar()

Macro Definition Documentation

◆ STKVAR_VALID_SIZE

#define STKVAR_VALID_SIZE   0x0001

x.dtype contains correct variable type (for insns like 'lea' this bit must be off).

in general, dr_O references do not allow to determine the variable size

Function Documentation

◆ add_cref()

void insn_t::add_cref ( ea_t  to,
int  opoff,
cref_t  type 
) const
inline

Add a code cross-reference from the instruction.

Parameters
opoffoffset of the operand from the start of instruction. if the offset is unknown, then 0.
totarget linear address
typetype of xref

◆ add_dref()

void insn_t::add_dref ( ea_t  to,
int  opoff,
dref_t  type 
) const
inline

Add a data cross-reference from the instruction.

See add_off_drefs() - usually it can be used in most cases.

Parameters
opoffoffset of the operand from the start of instruction if the offset is unknown, then 0
totarget linear address
typetype of xref

◆ add_off_drefs()

ea_t insn_t::add_off_drefs ( const op_t x,
dref_t  type,
int  outf 
) const
inline

Add xrefs for an operand of the instruction.

This function creates all cross references for 'enum', 'offset' and 'structure offset' operands. Use add_off_drefs() in the presence of negative offsets.

Parameters
xreference to operand
typetype of xref
outfout_value() flags. These flags should match the flags used to output the operand
Returns
if is_off(): the reference target address (the same as calc_reference_data). if is_stroff(): BADADDR because for stroffs the target address is unknown else: BADADDR because enums do not represent addresses