| IDA SDK

Public Attributes | Public Member Functions | List of all members
argpart_t Struct Reference
CM » Argument locations

## 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)
| Constructor.
| argpart_t ()
| Constructor.
argpart_t & | copy_from (const argloc_t &a)
bool | bad_offset () const
| Does this argpart have a valid offset?
bool | bad_size () 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 ()
| Constructor.
| argloc_t (const argloc_t &r)
| Constructor.
| ~argloc_t ()
| Destructor.
argloc_t & | operator= (const argloc_t &r)
| Constructor.
void | swap (argloc_t &r)
| Assign this == r and r == this.
const char * | dstr () const
argloc_type_t | atype () const
| Get type (Argument location types)
bool | is_reg1 () const
| See ALOC_REG1.
bool | is_reg2 () const
| See ALOC_REG2.
bool | is_reg () const
| is_reg1() || is_reg2()
bool | is_rrel () const
| See ALOC_RREL.
bool | is_ea () const
| See ALOC_STATIC.
bool | is_stkoff () const
| See ALOC_STACK.
bool | is_scattered () const
| See ALOC_DIST.
bool | has_reg () const
| TRUE if argloc has a register part.
bool | has_stkoff () const
| TRUE if argloc has a stack part.
bool | is_mixed_scattered () const
| mixed scattered: consists of register and stack parts
bool | in_stack () const
| TRUE if argloc is in stack entirely.
bool | is_fragmented () const
| is_scattered() || is_reg2()
bool | is_custom () const
| See ALOC_CUSTOM.
bool | is_badloc () const
| See ALOC_NONE.
int | reg1 () const
| Get the register info. More...
int | regoff () const
| Get offset from the beginning of the register in bytes. More...
int | reg2 () const
| Get info for the second register. More...
uint32 | get_reginfo () const
| Get all register info. More...
sval_t | stkoff () const
| Get the stack offset. More...
ea_t | get_ea () const
| Get the global address. More...
scattered_aloc_t & | scattered ()
| Get scattered argument info. More...
const scattered_aloc_t & | scattered () const
| Get scattered argument info. More...
rrel_t & | get_rrel ()
| Get register-relative info. More...
const rrel_t & | get_rrel () const
| Get register-relative info. More...
void * | get_custom () const
| Get custom argloc info. More...
biggest_t | get_biggest () const
| Get largest element in internal union.
void | _set_badloc ()
| 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 nullptr.
void | consume_scattered (scattered_aloc_t *p)
| Set distributed argument location.
void | set_badloc ()
| Set to invalid location.
sval_t | calc_offset () const
| Calculate offset that can be used to compare 2 similar arglocs.
bool | advance (int delta)
| Move the location to point 'delta' bytes further.
void | align_reg_high (size_t size, size_t _slotsize)
| Set register offset to align it to the upper part of _SLOTSIZE.
void | align_stkoff_high (size_t size, size_t _slotsize)
| Set stack offset to align to the upper part of _SLOTSIZE.

## Additional Inherited Members
Public Types inherited from argloc_t
typedef size_t | biggest_t

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

- typeinf.hpp