IDA SDK
udm_t Struct Reference

Detailed Description

An object to represent struct or union members.

Public Attributes

uint64 offset = 0
 member offset in bits
 
uint64 size = 0
 size in bits
 
qstring name
 member name
 
qstring cmt
 member comment
 
tinfo_t type
 member type
 
value_repr_t repr
 radix, refinfo, strpath, custom_id, strtype
 
int effalign = 0
 effective field alignment (in bytes)
 
uint32 tafld_bits = 0
 TAH bits.
 
uchar fda = 0
 field alignment (shift amount)
 

Public Member Functions

 udm_t (const char *_name, const tinfo_t &_type, uint64 _offset=0)
 Create a structure/union member, with the specified name and arbitrary type. More...
 
 udm_t (const char *_name, const type_t _type, uint64 _offset=0)
 Create a structure/union member, with the specified name and simple type. More...
 
 udm_t (const char *_name, const char *_type, uint64 _offset=0)
 Create a structure/union member, with the specified name and type. More...
 
bool empty () const
 
bool is_bitfield () const
 
bool is_zero_bitfield () const
 
bool is_unaligned () const
 
bool is_baseclass () const
 
bool is_virtbase () const
 
bool is_vftable () const
 
bool is_method () const
 
bool is_gap () const
 
bool is_regcmt () const
 
bool is_retaddr () const
 
bool is_savregs () const
 
bool is_special_member () const
 
bool is_by_til () const
 
void set_unaligned (bool on=true)
 
void set_baseclass (bool on=true)
 
void set_virtbase (bool on=true)
 
void set_vftable (bool on=true)
 
void set_method (bool on=true)
 
void set_regcmt (bool on=true)
 
void set_retaddr (bool on=true)
 
void set_savregs (bool on=true)
 
void set_by_til (bool on=true)
 
void clr_unaligned ()
 
void clr_baseclass ()
 
void clr_virtbase ()
 
void clr_vftable ()
 
void clr_method ()
 
uint64 begin () const
 
uint64 end () const
 
bool operator< (const udm_t &r) const
 
bool operator== (const udm_t &r) const
 
bool operator!= (const udm_t &r) const
 
void swap (udm_t &r)
 
bool is_anonymous_udm () const
 
bool make_gap (uval_t byteoff, uval_t nbytes)
 
void set_value_repr (const value_repr_t &r)
 
bool can_be_dtor () const
 
bool can_rename () const
 

Constructor & Destructor Documentation

◆ udm_t() [1/3]

udm_t::udm_t ( const char *  _name,
const tinfo_t _type,
uint64  _offset = 0 
)
inline

Create a structure/union member, with the specified name and arbitrary type.

The 'size' will be set automatically.

Parameters
_nameMember name. Must not be empty.
_typeMember type. Must not be empty. Can be any valid udt member type, like a pointer, array, etc.
[in]_offsetMember offset in bits. It is the caller's responsibility to specify correct offsets.

◆ udm_t() [2/3]

udm_t::udm_t ( const char *  _name,
const type_t  _type,
uint64  _offset = 0 
)
inline

Create a structure/union member, with the specified name and simple type.

The 'type' will be created from type_t, and the 'size' will be set automatically.

Parameters
_nameMember name. Must not be empty.
_typeMember type. Must not be empty. Can be only a simple type (integral/floating/bool).
[in]_offsetMember offset in bits. It is the caller's responsibility to specify correct offsets.

◆ udm_t() [3/3]

udm_t::udm_t ( const char *  _name,
const char *  _type,
uint64  _offset = 0 
)
inline

Create a structure/union member, with the specified name and type.

The 'type' object will be created by parsing the '_type' type declaration, and the 'size' will be set automatically.

Parameters
_nameMember name. Must not be empty.
_typeMember type. Must not a valid C type declaration.
[in]_offsetMember offset in bits. It is the caller's responsibility to specify correct offsets.

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