IDA SDK
Public Attributes | Public Member Functions | List of all members
regval_t Struct Reference

Detailed Description

Structure to hold a register value.

Small values (up to 64-bit integers and floating point values) use RVT_INT and RVT_FLOAT types. For bigger values the bytes() vector is used.

Public Attributes

int32 rvtype
 one of Register value types
 
union {
   uint64   ival
 8: integer value
 
   uint16   fval [6]
 12: floating point value in the internal representation (see ieee.h)
 
   uchar   reserve [sizeof(bytevec_t)]
 bytevec_t: custom data type (use bytes() to access it)
 
}; 
 

Public Member Functions

 regval_t (const regval_t &r)
 
regval_toperator= (const regval_t &r)
 Assign this regval to the given value.
 
void clear (void)
 Clear register value.
 
bool operator== (const regval_t &r) const
 Compare two regvals with '=='.
 
bool operator!= (const regval_t &r) const
 Compare two regvals with '!='.
 
void swap (regval_t &r)
 Set this = r and r = this.
 
void _set_int (uint64 x)
 Use set_int()
 
void _set_float (const ushort *x)
 Use set_float()
 
void _set_bytes (const uchar *data, size_t size)
 Use set_bytes(const uchar *, size_t)
 
void _set_bytes (const bytevec_t &v)
 Use set_bytes(const bytevec_t &)
 
bytevec_t_set_bytes (void)
 Use set_bytes(void)
 
Setters

These functions ensure that the previous value is cleared

void set_int (uint64 x)
 Set int value (ival)
 
void set_float (const ushort *x)
 Set float value (fval)
 
void set_bytes (const uchar *data, size_t size)
 Set custom regval with raw data.
 
void set_bytes (const bytevec_t &v)
 Set custom value with existing bytevec.
 
bytevec_tset_bytes (void)
 Initialize this regval to an empty custom value.
 
Getters
bytevec_tbytes (void)
 Get custom value.
 
const bytevec_tbytes (void) const
 Get const custom value.
 
void * get_data (void)
 Get pointer to value.
 
const void * get_data (void) const
 Get const pointer to value.
 
size_t get_data_size (void) const
 Get size of value.
 

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