IDAPython 9.0
Loading...
Searching...
No Matches
udt_type_data_t Class Reference
Inheritance diagram for udt_type_data_t:
udtmembervec_t udtmembervec_template_t

Public Member Functions

None swap (self, 'udt_type_data_t' r)
 
bool is_unaligned (self)
 
bool is_msstruct (self)
 
bool is_cppobj (self)
 
bool is_vftable (self)
 
bool is_fixed (self)
 
None set_vftable (self, bool on=True)
 
None set_fixed (self, bool on=True)
 
bool is_last_baseclass (self, 'size_t' idx)
 
'udm_t &' add_member (self, str _name, 'tinfo_t' _type, 'uint64' _offset=0)
 
'ssize_t' find_member (self, *args)
 
 get_best_fit_member (self, disp)
 
 __init__ (self)
 
- Public Member Functions inherited from udtmembervec_t
- Public Member Functions inherited from udtmembervec_template_t
'udm_t &' push_back (self, *args)
 
None pop_back (self)
 
'size_t' size (self)
 
bool empty (self)
 
'udm_t const &' at (self, 'size_t' _idx)
 
None qclear (self)
 
None clear (self)
 
None resize (self, *args)
 
None grow (self, *args)
 
'size_t' capacity (self)
 
None reserve (self, 'size_t' cnt)
 
None truncate (self)
 
'udm_t *' extract (self)
 
None inject (self, 'udm_t' s, 'size_t' len)
 
bool __eq__ (self, 'udtmembervec_template_t' r)
 
bool __ne__ (self, 'udtmembervec_template_t' r)
 
'qvector< udm_t >::const_iterator' begin (self, *args)
 
'qvector< udm_t >::const_iterator' end (self, *args)
 
'qvector< udm_t >::iterator' insert (self, 'udm_t' it, 'udm_t' x)
 
'qvector< udm_t >::iterator' erase (self, *args)
 
'qvector< udm_t >::const_iterator' find (self, *args)
 
bool has (self, 'udm_t' x)
 
bool add_unique (self, 'udm_t' x)
 
'size_t' __len__ (self)
 
'udm_t const &' __getitem__ (self, 'size_t' i)
 
None __setitem__ (self, 'size_t' i, 'udm_t' v)
 
None append (self, 'udm_t' x)
 
None extend (self, 'udtmembervec_template_t' x)
 

Static Public Attributes

str total_size
 
str unpadded_size
 
str effalign
 
str taudt_bits
 
str version
 
str sda
 
str pack
 
str is_union
 
- Static Public Attributes inherited from udtmembervec_template_t
 front = ida_idaapi._qvector_front
 
 back = ida_idaapi._qvector_back
 

Properties

 thisown
 
- Properties inherited from udtmembervec_t
 thisown
 
- Properties inherited from udtmembervec_template_t
 thisown
 

Additional Inherited Members

- Protected Member Functions inherited from udtmembervec_template_t
bool _del (self, 'udm_t' x)
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self)

Reimplemented from udtmembervec_t.

Member Function Documentation

◆ add_member()

'udm_t &' add_member ( self,
str _name,
'tinfo_t' _type,
'uint64' _offset = 0 )
Add a new member to a structure or union. This function just pushes a new member to the back of the structure/union member vector.

@param _name: Member name. Must not be nullptr.
@param _type: Member type. Must not be empty.
@param _offset: Member offset in bits. It is the caller's responsibility to specify correct offsets.
@returns { Reference to the newly added member }

◆ find_member()

'ssize_t' find_member ( self,
* args )
This function has the following signatures:

0. find_member(pattern_udm: udm_t *, strmem_flags: int) -> ssize_t
1. find_member(name: str) -> ssize_t
2. find_member(bit_offset: uint64) -> ssize_t

# 0: find_member(pattern_udm: udm_t *, strmem_flags: int) -> ssize_t

tinfo_t::find_udm 

@returns the index of the found member or -1

# 1: find_member(name: str) -> ssize_t


# 2: find_member(bit_offset: uint64) -> ssize_t

◆ get_best_fit_member()

get_best_fit_member ( self,
disp )
Get the member that is most likely referenced by the specified offset.

@param disp the byte offset
@return a tuple (int, udm_t), or (-1, None) if member not found

◆ is_cppobj()

bool is_cppobj ( self)

◆ is_fixed()

bool is_fixed ( self)

◆ is_last_baseclass()

bool is_last_baseclass ( self,
'size_t' idx )

◆ is_msstruct()

bool is_msstruct ( self)

◆ is_unaligned()

bool is_unaligned ( self)

◆ is_vftable()

bool is_vftable ( self)

◆ set_fixed()

None set_fixed ( self,
bool on = True )

◆ set_vftable()

None set_vftable ( self,
bool on = True )

◆ swap()

None swap ( self,
'udt_type_data_t' r )

Reimplemented from udtmembervec_template_t.

Member Data Documentation

◆ effalign

str effalign
static
Initial value:
= property(_ida_typeinf.udt_type_data_t_effalign_get,
_ida_typeinf.udt_type_data_t_effalign_set)

◆ is_union

str is_union
static
Initial value:
= property(_ida_typeinf.udt_type_data_t_is_union_get,
_ida_typeinf.udt_type_data_t_is_union_set)

◆ pack

str pack
static
Initial value:
= property(_ida_typeinf.udt_type_data_t_pack_get,
_ida_typeinf.udt_type_data_t_pack_set)

◆ sda

str sda
static
Initial value:
= property(_ida_typeinf.udt_type_data_t_sda_get,
_ida_typeinf.udt_type_data_t_sda_set)

◆ taudt_bits

str taudt_bits
static
Initial value:
= property(_ida_typeinf.
udt_type_data_t_taudt_bits_get, _ida_typeinf.
udt_type_data_t_taudt_bits_set)

◆ total_size

str total_size
static
Initial value:
= property(_ida_typeinf.
udt_type_data_t_total_size_get, _ida_typeinf.
udt_type_data_t_total_size_set)

◆ unpadded_size

str unpadded_size
static
Initial value:
= property(_ida_typeinf.
udt_type_data_t_unpadded_size_get, _ida_typeinf.
udt_type_data_t_unpadded_size_set)

◆ version

str version
static
Initial value:
= property(_ida_typeinf.udt_type_data_t_version_get,
_ida_typeinf.udt_type_data_t_version_set)

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: