IDAPython 9.0
Loading...
Searching...
No Matches
argloc_t Class Reference
Inheritance diagram for argloc_t:
vdloc_t argpart_t scif_t

Public Member Functions

 __init__ (self, *args)
 
None swap (self, 'argloc_t' r)
 
'argloc_type_t' atype (self)
 
bool is_reg1 (self)
 
bool is_reg2 (self)
 
bool is_reg (self)
 
bool is_rrel (self)
 
bool is_ea (self)
 
bool is_stkoff (self)
 
bool is_scattered (self)
 
bool has_reg (self)
 
bool has_stkoff (self)
 
bool is_mixed_scattered (self)
 
bool in_stack (self)
 
bool is_fragmented (self)
 
bool is_custom (self)
 
bool is_badloc (self)
 
int reg1 (self)
 
int regoff (self)
 
int reg2 (self)
 
int get_reginfo (self)
 
int stkoff (self)
 
ida_idaapi.ea_t get_ea (self)
 
'scattered_aloc_t &' scattered (self)
 
'rrel_t &' get_rrel (self)
 
'void *' get_custom (self)
 
'argloc_t::biggest_t' get_biggest (self)
 
None set_reg1 (self, int reg, int off=0)
 
None set_reg2 (self, int _reg1, int _reg2)
 
None set_stkoff (self, int off)
 
None set_ea (self, ida_idaapi.ea_t _ea)
 
None consume_rrel (self, 'rrel_t' p)
 
None set_badloc (self)
 
int calc_offset (self)
 
bool advance (self, int delta)
 
None align_reg_high (self, 'size_t' size, 'size_t' _slotsize)
 
None align_stkoff_high (self, 'size_t' size, 'size_t' _slotsize)
 
bool __eq__ (self, 'argloc_t' r)
 
bool __ne__ (self, 'argloc_t' r)
 
bool __lt__ (self, 'argloc_t' r)
 
bool __gt__ (self, 'argloc_t' r)
 
bool __le__ (self, 'argloc_t' r)
 
bool __ge__ (self, 'argloc_t' r)
 
int compare (self, 'argloc_t' r)
 
None consume_scattered (self, 'scattered_aloc_t' p)
 

Protected Member Functions

None _set_badloc (self)
 
None _set_reg1 (self, int reg, int off=0)
 
None _set_reg2 (self, int _reg1, int _reg2)
 
None _set_stkoff (self, int off)
 
None _set_ea (self, ida_idaapi.ea_t _ea)
 
bool _consume_rrel (self, 'rrel_t' p)
 
bool _consume_scattered (self, 'scattered_aloc_t' p)
 
None _set_custom (self, 'argloc_type_t' ct, 'void *' pdata)
 
None _set_biggest (self, 'argloc_type_t' ct, 'argloc_t::biggest_t' data)
 

Properties

 thisown
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
* args )

Reimplemented in scif_t, vdloc_t, and argpart_t.

Member Function Documentation

◆ __eq__()

bool __eq__ ( self,
'argloc_t' r )

Reimplemented in vdloc_t.

◆ __ge__()

bool __ge__ ( self,
'argloc_t' r )

Reimplemented in vdloc_t.

◆ __gt__()

bool __gt__ ( self,
'argloc_t' r )

Reimplemented in vdloc_t.

◆ __le__()

bool __le__ ( self,
'argloc_t' r )

Reimplemented in vdloc_t.

◆ __lt__()

bool __lt__ ( self,
'argloc_t' r )

Reimplemented in vdloc_t, and argpart_t.

◆ __ne__()

bool __ne__ ( self,
'argloc_t' r )

Reimplemented in vdloc_t.

◆ _consume_rrel()

bool _consume_rrel ( self,
'rrel_t' p )
protected
Use consume_rrel()

◆ _consume_scattered()

bool _consume_scattered ( self,
'scattered_aloc_t' p )
protected
Use consume_scattered()

◆ _set_badloc()

None _set_badloc ( self)
protected
Use set_badloc()

◆ _set_biggest()

None _set_biggest ( self,
'argloc_type_t' ct,
'argloc_t.biggest_t' data )
protected
Set biggest element in internal union (careful - this function does not clean up!)

◆ _set_custom()

None _set_custom ( self,
'argloc_type_t' ct,
'void *' pdata )
protected
Set custom argument location (careful - this function does not clean up!)

◆ _set_ea()

None _set_ea ( self,
ida_idaapi.ea_t _ea )
protected
Use set_ea 

◆ _set_reg1()

None _set_reg1 ( self,
int reg,
int off = 0 )
protected
Use set_reg1()

Reimplemented in vdloc_t.

◆ _set_reg2()

None _set_reg2 ( self,
int _reg1,
int _reg2 )
protected
Use set_reg2()

◆ _set_stkoff()

None _set_stkoff ( self,
int off )
protected
Use set_stkoff()

◆ advance()

bool advance ( self,
int delta )
Move the location to point 'delta' bytes further.

◆ align_reg_high()

None align_reg_high ( self,
'size_t' size,
'size_t' _slotsize )
Set register offset to align it to the upper part of _SLOTSIZE.

◆ align_stkoff_high()

None align_stkoff_high ( self,
'size_t' size,
'size_t' _slotsize )
Set stack offset to align to the upper part of _SLOTSIZE.

◆ atype()

'argloc_type_t' atype ( self)
Get type (Argument location types)

◆ calc_offset()

int calc_offset ( self)
Calculate offset that can be used to compare 2 similar arglocs.

◆ compare()

int compare ( self,
'argloc_t' r )

Reimplemented in vdloc_t.

◆ consume_rrel()

None consume_rrel ( self,
'rrel_t' p )
Set register-relative location - can't be nullptr.

◆ consume_scattered()

None consume_scattered ( self,
'scattered_aloc_t' p )
Set distributed argument location.

◆ get_biggest()

'argloc_t.biggest_t' get_biggest ( self)
Get largest element in internal union.

◆ get_custom()

'void *' get_custom ( self)
Get custom argloc info. Use if atype() == ALOC_CUSTOM 

◆ get_ea()

ida_idaapi.ea_t get_ea ( self)
Get the global address. Use when atype() == ALOC_STATIC 

◆ get_reginfo()

int get_reginfo ( self)
Get all register info. Use when atype() == ALOC_REG1 or ALOC_REG2 

◆ get_rrel()

'rrel_t &' get_rrel ( self)
Get register-relative info. Use when atype() == ALOC_RREL 

◆ has_reg()

bool has_reg ( self)
TRUE if argloc has a register part.

◆ has_stkoff()

bool has_stkoff ( self)
TRUE if argloc has a stack part.

◆ in_stack()

bool in_stack ( self)
TRUE if argloc is in stack entirely.

◆ is_badloc()

bool is_badloc ( self)
See ALOC_NONE.

◆ is_custom()

bool is_custom ( self)
See ALOC_CUSTOM.

◆ is_ea()

bool is_ea ( self)
See ALOC_STATIC.

◆ is_fragmented()

bool is_fragmented ( self)
is_scattered() || is_reg2()

◆ is_mixed_scattered()

bool is_mixed_scattered ( self)
mixed scattered: consists of register and stack parts

◆ is_reg()

bool is_reg ( self)
is_reg1() || is_reg2()

◆ is_reg1()

bool is_reg1 ( self)
See ALOC_REG1.

◆ is_reg2()

bool is_reg2 ( self)
See ALOC_REG2.

◆ is_rrel()

bool is_rrel ( self)
See ALOC_RREL.

◆ is_scattered()

bool is_scattered ( self)
See ALOC_DIST.

◆ is_stkoff()

bool is_stkoff ( self)
See ALOC_STACK.

◆ reg1()

int reg1 ( self)
Get the register info. Use when atype() == ALOC_REG1 or ALOC_REG2 

Reimplemented in vdloc_t.

◆ reg2()

int reg2 ( self)
Get info for the second register. Use when atype() == ALOC_REG2 

◆ regoff()

int regoff ( self)
Get offset from the beginning of the register in bytes. Use when atype() == ALOC_REG1 

◆ scattered()

'scattered_aloc_t &' scattered ( self)
Get scattered argument info. Use when atype() == ALOC_DIST 

◆ set_badloc()

None set_badloc ( self)
Set to invalid location.

◆ set_ea()

None set_ea ( self,
ida_idaapi.ea_t _ea )
Set static ea location.

◆ set_reg1()

None set_reg1 ( self,
int reg,
int off = 0 )
Set register location.

Reimplemented in vdloc_t.

◆ set_reg2()

None set_reg2 ( self,
int _reg1,
int _reg2 )
Set secondary register location.

◆ set_stkoff()

None set_stkoff ( self,
int off )
Set stack offset location.

◆ stkoff()

int stkoff ( self)
Get the stack offset. Use if atype() == ALOC_STACK 

◆ swap()

None swap ( self,
'argloc_t' r )
Assign this == r and r == this.

Reimplemented in argpart_t.

Property Documentation

◆ thisown

thisown
static
Initial value:
= property(lambda x: x.this.own(), lambda x, v: x.this.own(v),
doc='The membership flag')

The documentation for this class was generated from the following file: