IDAPython 9.0
Loading...
Searching...
No Matches
enum_type_data_t Class Reference
Inheritance diagram for enum_type_data_t:
edmvec_t

Public Member Functions

 __init__ (self, *args)
 
int get_enum_radix (self)
 
bool is_number_signed (self)
 
None set_enum_radix (self, int radix, bool sign)
 
bool is_char (self)
 
bool is_dec (self)
 
bool is_hex (self)
 
bool is_oct (self)
 
bool is_bin (self)
 
bool is_udec (self)
 
bool is_shex (self)
 
bool is_soct (self)
 
bool is_sbin (self)
 
bool has_lzero (self)
 
None set_lzero (self, bool on)
 
'uint64' calc_mask (self)
 
bool store_64bit_values (self)
 
bool is_bf (self)
 
int calc_nbytes (self)
 
bool set_nbytes (self, int nbytes)
 
bool is_group_mask_at (self, 'size_t' idx)
 
bool is_valid_group_sizes (self)
 
'ssize_t' find_member (self, *args)
 
None swap (self, 'enum_type_data_t' r)
 
None add_constant (self, str name, 'uint64' value, str cmt=None)
 
'tinfo_code_t' get_value_repr (self, 'value_repr_t' repr)
 
'tinfo_code_t' set_value_repr (self, 'value_repr_t' repr)
 
'uchar' get_serial (self, 'size_t' index)
 
'uchar' get_max_serial (self, 'uint64' value)
 
'PyObject *' get_constant_group (self, *args)
 
 all_groups (self, skip_trivial=False)
 
 all_constants (self)
 
- Public Member Functions inherited from edmvec_t
'edm_t &' push_back (self, *args)
 
None pop_back (self)
 
'size_t' size (self)
 
bool empty (self)
 
'edm_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)
 
'edm_t *' extract (self)
 
None inject (self, 'edm_t' s, 'size_t' len)
 
bool __eq__ (self, 'edmvec_t' r)
 
bool __ne__ (self, 'edmvec_t' r)
 
'qvector< edm_t >::const_iterator' begin (self, *args)
 
'qvector< edm_t >::const_iterator' end (self, *args)
 
'qvector< edm_t >::iterator' insert (self, 'edm_t' it, 'edm_t' x)
 
'qvector< edm_t >::iterator' erase (self, *args)
 
'qvector< edm_t >::const_iterator' find (self, *args)
 
bool has (self, 'edm_t' x)
 
bool add_unique (self, 'edm_t' x)
 
'size_t' __len__ (self)
 
'edm_t const &' __getitem__ (self, 'size_t' i)
 
None __setitem__ (self, 'size_t' i, 'edm_t' v)
 
None append (self, 'edm_t' x)
 
None extend (self, 'edmvec_t' x)
 

Public Attributes

int group_sizes = 1:
 

Static Public Attributes

str group_sizes
 
str taenum_bits
 
str bte
 
- Static Public Attributes inherited from edmvec_t
 front = ida_idaapi._qvector_front
 
 back = ida_idaapi._qvector_back
 

Properties

 thisown
 
- Properties inherited from edmvec_t
 thisown
 

Additional Inherited Members

- Protected Member Functions inherited from edmvec_t
bool _del (self, 'edm_t' x)
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
* args )

Reimplemented from edmvec_t.

Member Function Documentation

◆ add_constant()

None add_constant ( self,
str name,
'uint64' value,
str cmt = None )
add constant for regular enum

◆ all_constants()

all_constants ( self)
Generate tupples of all constants except of bitmasks.
Each tupple is:
[0] constant index
[1] enum member index of group start
[2] group size
In case of regular enum the second element of tupple is 0 and the third element of tupple is the number of enum members.

◆ all_groups()

all_groups ( self,
skip_trivial = False )
Generate tuples for bitmask enum groups.
Each tupple is:
[0] enum member index of group start
[1] group size
Tupples may include or not the group with 1 element.

◆ calc_mask()

'uint64' calc_mask ( self)

◆ calc_nbytes()

int calc_nbytes ( self)
get the width of enum in bytes

◆ find_member()

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

0. find_member(name: str, from: size_t=0, to: size_t=size_t(-1)) -> ssize_t
1. find_member(value: uint64, serial: uchar, from: size_t=0, to: size_t=size_t(-1), vmask: uint64=uint64(-1)) -> ssize_t

# 0: find_member(name: str, from: size_t=0, to: size_t=size_t(-1)) -> ssize_t

find member (constant or bmask) by name


# 1: find_member(value: uint64, serial: uchar, from: size_t=0, to: size_t=size_t(-1), vmask: uint64=uint64(-1)) -> ssize_t

find member (constant or bmask) by value

◆ get_constant_group()

'PyObject *' get_constant_group ( self,
* args )
get group parameters for the constant, valid for bitmask enum 

@param group_start_index: index of the group mask
@param group_size: group size (>=1)
@param idx: constant index
@returns success

◆ get_enum_radix()

int get_enum_radix ( self)
Get enum constant radix 

@returns radix or 1 for BTE_CHAR

◆ get_max_serial()

'uchar' get_max_serial ( self,
'uint64' value )
return the maximum serial for the value

◆ get_serial()

'uchar' get_serial ( self,
'size_t' index )
returns serial for the constant

◆ get_value_repr()

'tinfo_code_t' get_value_repr ( self,
'value_repr_t' repr )
get enum radix and other representation info 

@param repr: value display info

◆ has_lzero()

bool has_lzero ( self)

◆ is_bf()

bool is_bf ( self)
is bitmask or ordinary enum?

◆ is_bin()

bool is_bin ( self)

◆ is_char()

bool is_char ( self)

◆ is_dec()

bool is_dec ( self)

◆ is_group_mask_at()

bool is_group_mask_at ( self,
'size_t' idx )
is the enum member at IDX a non-trivial group mask? a trivial group consist of one bit and has just one member, which can be considered as a mask or a bitfield constant 

@param idx: index
@returns success

◆ is_hex()

bool is_hex ( self)

◆ is_number_signed()

bool is_number_signed ( self)

◆ is_oct()

bool is_oct ( self)

◆ is_sbin()

bool is_sbin ( self)

◆ is_shex()

bool is_shex ( self)

◆ is_soct()

bool is_soct ( self)

◆ is_udec()

bool is_udec ( self)

◆ is_valid_group_sizes()

bool is_valid_group_sizes ( self)
is valid group sizes

◆ set_enum_radix()

None set_enum_radix ( self,
int radix,
bool sign )
Set radix to display constants 

@param radix: radix with the special case 1 to display as character

◆ set_lzero()

None set_lzero ( self,
bool on )

◆ set_nbytes()

bool set_nbytes ( self,
int nbytes )
set enum width (nbytes)

◆ set_value_repr()

'tinfo_code_t' set_value_repr ( self,
'value_repr_t' repr )
set enum radix and other representation info 

@param repr: value display info

◆ store_64bit_values()

bool store_64bit_values ( self)

◆ swap()

None swap ( self,
'enum_type_data_t' r )
swap two instances

Reimplemented from edmvec_t.

Member Data Documentation

◆ bte

str bte
static
Initial value:
= property(_ida_typeinf.enum_type_data_t_bte_get,
_ida_typeinf.enum_type_data_t_bte_set)

◆ group_sizes [1/2]

group_sizes
static
Initial value:
= property(_ida_typeinf.
enum_type_data_t_group_sizes_get, _ida_typeinf.
enum_type_data_t_group_sizes_set)

◆ group_sizes [2/2]

int group_sizes = 1:

◆ taenum_bits

str taenum_bits
static
Initial value:
= property(_ida_typeinf.
enum_type_data_t_taenum_bits_get, _ida_typeinf.
enum_type_data_t_taenum_bits_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: