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

Information about a call. More...

#include <hexrays.hpp>

Public Member Functions

 mcallinfo_t (ea_t _callee=BADADDR, int _sargs=0)
 
int lexcompare (const mcallinfo_t &f) const
 
bool set_type (const tinfo_t &type)
 
tinfo_t get_type (void) const
 
bool is_vararg (void) const
 
void print (qstring *vout, int size=-1, int shins_flags=SHINS_SHORT|SHINS_VALNUM) const
 
const char * dstr () const
 

Public Attributes

ea_t callee
 address of the called function, if known More...
 
int solid_args
 number of solid args. More...
 
int call_spd
 sp value at call insn More...
 
int stkargs_top
 first offset past stack arguments More...
 
cm_t cc
 calling convention More...
 
mcallargs_t args
 call arguments More...
 
mopvec_t retregs
 return register(s) (e.g., AX, AX:DX, etc.) this vector is built from return_regs More...
 
tinfo_t return_type
 type of the returned value More...
 
argloc_t return_argloc
 location of the returned value More...
 
mlist_t return_regs
 list of values returned by the function More...
 
mlist_t spoiled
 list of spoiled locations (includes return_regs) More...
 
mlist_t pass_regs
 passthrough registers: registers that depend on input values (subset of spoiled) More...
 
ivlset_t visible_memory
 what memory is visible to the call? More...
 
mlist_t dead_regs
 registers defined by the function but never used. More...
 
int flags
 combination of Call properties... bits More...
 
funcrole_t role
 function role More...
 
type_attrs_t fti_attrs
 extended function attributes More...
 

Detailed Description

Information about a call.

Examples
hexrays_sample10.cpp.

Definition at line 3120 of file hexrays.hpp.

Constructor & Destructor Documentation

◆ mcallinfo_t()

mcallinfo_t::mcallinfo_t ( ea_t  _callee = BADADDR,
int  _sargs = 0 
)

Definition at line 3168 of file hexrays.hpp.

Member Function Documentation

◆ dstr()

const char * mcallinfo_t::dstr ( void  ) const

Definition at line 10746 of file hexrays.hpp.

◆ get_type()

tinfo_t mcallinfo_t::get_type ( void  ) const

Definition at line 10732 of file hexrays.hpp.

◆ is_vararg()

bool mcallinfo_t::is_vararg ( void  ) const

Definition at line 3175 of file hexrays.hpp.

◆ lexcompare()

int mcallinfo_t::lexcompare ( const mcallinfo_t f) const

Definition at line 10720 of file hexrays.hpp.

◆ print()

void mcallinfo_t::print ( qstring *  vout,
int  size = -1,
int  shins_flags = SHINS_SHORT|SHINS_VALNUM 
) const

Definition at line 10740 of file hexrays.hpp.

◆ set_type()

bool mcallinfo_t::set_type ( const tinfo_t &  type)

Definition at line 10726 of file hexrays.hpp.

Member Data Documentation

◆ args

mcallargs_t mcallinfo_t::args

call arguments

Examples
hexrays_sample10.cpp.

Definition at line 3129 of file hexrays.hpp.

◆ call_spd

int mcallinfo_t::call_spd

sp value at call insn

Definition at line 3126 of file hexrays.hpp.

◆ callee

ea_t mcallinfo_t::callee

address of the called function, if known

Definition at line 3123 of file hexrays.hpp.

◆ cc

cm_t mcallinfo_t::cc

calling convention

Definition at line 3128 of file hexrays.hpp.

◆ dead_regs

mlist_t mcallinfo_t::dead_regs

registers defined by the function but never used.

upon propagation we do the following:

  • dead_regs += return_regs
  • retregs.clear() since the call is propagated

Definition at line 3140 of file hexrays.hpp.

◆ flags

int mcallinfo_t::flags

combination of Call properties... bits

Definition at line 3144 of file hexrays.hpp.

◆ fti_attrs

type_attrs_t mcallinfo_t::fti_attrs

extended function attributes

Definition at line 3166 of file hexrays.hpp.

◆ pass_regs

mlist_t mcallinfo_t::pass_regs

passthrough registers: registers that depend on input values (subset of spoiled)

Definition at line 3137 of file hexrays.hpp.

◆ retregs

mopvec_t mcallinfo_t::retregs

return register(s) (e.g., AX, AX:DX, etc.) this vector is built from return_regs

Definition at line 3130 of file hexrays.hpp.

◆ return_argloc

argloc_t mcallinfo_t::return_argloc

location of the returned value

Definition at line 3133 of file hexrays.hpp.

◆ return_regs

mlist_t mcallinfo_t::return_regs

list of values returned by the function

Definition at line 3135 of file hexrays.hpp.

◆ return_type

tinfo_t mcallinfo_t::return_type

type of the returned value

Definition at line 3132 of file hexrays.hpp.

◆ role

funcrole_t mcallinfo_t::role

function role

Definition at line 3165 of file hexrays.hpp.

Referenced by minsn_t::get_role().

◆ solid_args

int mcallinfo_t::solid_args

number of solid args.

there may be variadic args in addtion

Definition at line 3124 of file hexrays.hpp.

◆ spoiled

mlist_t mcallinfo_t::spoiled

list of spoiled locations (includes return_regs)

Definition at line 3136 of file hexrays.hpp.

◆ stkargs_top

int mcallinfo_t::stkargs_top

first offset past stack arguments

Definition at line 3127 of file hexrays.hpp.

◆ visible_memory

ivlset_t mcallinfo_t::visible_memory

what memory is visible to the call?

Definition at line 3139 of file hexrays.hpp.