Public Attributes | Public Member Functions | List of all members
argpart_t Struct Reference

Detailed Description

Subsection of an argument location.

Inherits argloc_t.

Public Attributes

ushort off
 offset from the beginning of the argument
ushort size
 the number of bytes

Public Member Functions

 argpart_t (const argloc_t &a)
 argpart_t (void)
argpart_tcopy_from (const argloc_t &a)
bool bad_offset (void) const
 Does this argpart have a valid offset?
bool bad_size (void) const
 Does this argpart have a valid size?
bool operator< (const argpart_t &r) const
 Compare two argparts, based on their offset.
void swap (argpart_t &r)
 Assign this = r and r = this.
- Public Member Functions inherited from argloc_t
 argloc_t (void)
 argloc_t (const argloc_t &r)
 ~argloc_t (void)
argloc_toperator= (const argloc_t &r)
void swap (argloc_t &r)
 Assign this == r and r == this.
const char * dstr (void) const
argloc_type_t atype (void) const
 Get type (Argument location types)
bool is_reg1 (void) const
bool is_reg2 (void) const
bool is_reg (void) const
 is_reg1() || is_reg2()
bool is_rrel (void) const
bool is_ea (void) const
bool is_stkoff (void) const
bool is_scattered (void) const
bool is_mixed_scattered () const
 mixed scattered: consists of register and stack parts
bool is_fragmented (void) const
 is_scattered() || is_reg2()
bool is_custom (void) const
bool is_badloc (void) const
int reg1 (void) const
 Get the register info. More...
int regoff (void) const
 Get offset from the beginning of the register in bytes. More...
int reg2 (void) const
 Get info for the second register. More...
uint32 get_reginfo (void) const
 Get all register info. More...
sval_t stkoff (void) const
 Get the stack offset. More...
ea_t get_ea (void) const
 Get the global address. More...
scattered_aloc_tscattered (void)
 Get scattered argument info. More...
const scattered_aloc_tscattered (void) const
 copydoc scattered()
rrel_tget_rrel (void)
 Get register-relative info. More...
const rrel_tget_rrel (void) const
 copydoc get_rrel()
void * get_custom (void) const
 Get custom argloc info. More...
biggest_t get_biggest (void) const
 Get largest element in internal union.
void _set_badloc (void)
 Use set_badloc()
void _set_reg1 (int reg, int off=0)
 Use set_reg1()
void _set_reg2 (int _reg1, int _reg2)
 Use set_reg2()
void _set_stkoff (sval_t off)
 Use set_stkoff()
void _set_ea (ea_t _ea)
 Use set_ea.
bool _consume_rrel (rrel_t *p)
 Use consume_rrel()
bool _consume_scattered (scattered_aloc_t *p)
 Use consume_scattered()
void _set_custom (argloc_type_t ct, void *pdata)
 Set custom argument location (careful - this function does not clean up!)
void _set_biggest (argloc_type_t ct, biggest_t data)
 Set biggest element in internal union (careful - this function does not clean up!)
void set_reg1 (int reg, int off=0)
 Set register location.
void set_reg2 (int _reg1, int _reg2)
 Set secondary register location.
void set_stkoff (sval_t off)
 Set stack offset location.
void set_ea (ea_t _ea)
 Set static ea location.
void consume_rrel (rrel_t *p)
 Set register-relative location - can't be NULL.
void consume_scattered (scattered_aloc_t *p)
 Set distributed argument location.
void set_badloc (void)
 Set to invalid location.
sval_t calc_offset (void) const
 Calculate offset that can be used to compare 2 similar arglocs.
bool advance (int delta)
 Move the location to point 'delta' bytes further.

Additional Inherited Members

- Public Types inherited from argloc_t
typedef ea_t biggest_t
 to facilitate manipulation of internal union

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