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

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 () const
 
bool is_vararg () 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 = 0
 sp value at call insn More...
 
int stkargs_top = 0
 first offset past stack arguments More...
 
cm_t cc = CM_CC_INVALID
 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 = 0
 combination of Call properties... bits More...
 
funcrole_t role = ROLE_UNK
 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 3125 of file hexrays.hpp.

Constructor & Destructor Documentation

◆ mcallinfo_t()

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

Definition at line 3173 of file hexrays.hpp.

Member Function Documentation

◆ dstr()

const char * mcallinfo_t::dstr ( ) const

Definition at line 10799 of file hexrays.hpp.

◆ get_type()

tinfo_t mcallinfo_t::get_type ( ) const

Definition at line 10785 of file hexrays.hpp.

◆ is_vararg()

bool mcallinfo_t::is_vararg ( ) const

Definition at line 3181 of file hexrays.hpp.

◆ lexcompare()

int mcallinfo_t::lexcompare ( const mcallinfo_t f) const

Definition at line 10773 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 10793 of file hexrays.hpp.

◆ set_type()

bool mcallinfo_t::set_type ( const tinfo_t &  type)

Definition at line 10779 of file hexrays.hpp.

Member Data Documentation

◆ args

mcallargs_t mcallinfo_t::args

call arguments

Examples
hexrays_sample10.cpp.

Definition at line 3134 of file hexrays.hpp.

◆ call_spd

int mcallinfo_t::call_spd = 0

sp value at call insn

Definition at line 3131 of file hexrays.hpp.

◆ callee

ea_t mcallinfo_t::callee

address of the called function, if known

Definition at line 3128 of file hexrays.hpp.

◆ cc

cm_t mcallinfo_t::cc = CM_CC_INVALID

calling convention

Definition at line 3133 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 3145 of file hexrays.hpp.

◆ flags

int mcallinfo_t::flags = 0

combination of Call properties... bits

Definition at line 3149 of file hexrays.hpp.

◆ fti_attrs

type_attrs_t mcallinfo_t::fti_attrs

extended function attributes

Definition at line 3171 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 3142 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 3135 of file hexrays.hpp.

◆ return_argloc

argloc_t mcallinfo_t::return_argloc

location of the returned value

Definition at line 3138 of file hexrays.hpp.

◆ return_regs

mlist_t mcallinfo_t::return_regs

list of values returned by the function

Definition at line 3140 of file hexrays.hpp.

◆ return_type

tinfo_t mcallinfo_t::return_type

type of the returned value

Definition at line 3137 of file hexrays.hpp.

◆ role

funcrole_t mcallinfo_t::role = ROLE_UNK

function role

Definition at line 3170 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 3129 of file hexrays.hpp.

◆ spoiled

mlist_t mcallinfo_t::spoiled

list of spoiled locations (includes return_regs)

Definition at line 3141 of file hexrays.hpp.

◆ stkargs_top

int mcallinfo_t::stkargs_top = 0

first offset past stack arguments

Definition at line 3132 of file hexrays.hpp.

◆ visible_memory

ivlset_t mcallinfo_t::visible_memory

what memory is visible to the call?

Definition at line 3144 of file hexrays.hpp.