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

Public Member Functions

 __init__ (self, 'uint16' bit_ofs=0, 'uint16' size_in_bits=0)
 
None init (self, 'uint16' bit_ofs, 'uint16' size_in_bits)
 
None reset (self)
 
bool empty (self)
 
'uint' bitoff (self)
 
'uint' bitsize (self)
 
'uint' bytesize (self)
 
'uint64' mask64 (self)
 
bool has_common (self, 'bitrange_t' r)
 
bool apply_mask (self, 'bitrange_t' subrange)
 
None intersect (self, 'bitrange_t' r)
 
None create_union (self, 'bitrange_t' r)
 
bool sub (self, 'bitrange_t' r)
 
None shift_down (self, 'uint' cnt)
 
None shift_up (self, 'uint' cnt)
 
bool extract (self, 'void const *' src, bool is_mf)
 
bool inject (self, 'void *' dst, 'bytevec_t const &' src, bool is_mf)
 
bool __eq__ (self, 'bitrange_t' r)
 
bool __ne__ (self, 'bitrange_t' r)
 
bool __lt__ (self, 'bitrange_t' r)
 
bool __gt__ (self, 'bitrange_t' r)
 
bool __le__ (self, 'bitrange_t' r)
 
bool __ge__ (self, 'bitrange_t' r)
 
int compare (self, 'bitrange_t' r)
 
str __str__ (self)
 
 __repr__ (self)
 

Properties

 thisown
 

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
'uint16' bit_ofs = 0,
'uint16' size_in_bits = 0 )

Member Function Documentation

◆ __eq__()

bool __eq__ ( self,
'bitrange_t' r )

◆ __ge__()

bool __ge__ ( self,
'bitrange_t' r )

◆ __gt__()

bool __gt__ ( self,
'bitrange_t' r )

◆ __le__()

bool __le__ ( self,
'bitrange_t' r )

◆ __lt__()

bool __lt__ ( self,
'bitrange_t' r )

◆ __ne__()

bool __ne__ ( self,
'bitrange_t' r )

◆ __repr__()

__repr__ ( self)

◆ __str__()

str __str__ ( self)

◆ apply_mask()

bool apply_mask ( self,
'bitrange_t' subrange )
Apply mask to a bitrange 

@param subrange: range *inside* the main bitrange to keep After this operation the main bitrange will be truncated to have only the bits that are specified by subrange. Example: [off=8,nbits=4], subrange[off=1,nbits=2] => [off=9,nbits=2]
@returns success

◆ bitoff()

'uint' bitoff ( self)
Get offset of 1st bit.

◆ bitsize()

'uint' bitsize ( self)
Get size of the value in bits.

◆ bytesize()

'uint' bytesize ( self)
Size of the value in bytes.

◆ compare()

int compare ( self,
'bitrange_t' r )

◆ create_union()

None create_union ( self,
'bitrange_t' r )
Create union of 2 ranges including the hole between them.

◆ empty()

bool empty ( self)
Is the bitrange empty?

◆ extract()

bool extract ( self,
'void const *' src,
bool is_mf )

◆ has_common()

bool has_common ( self,
'bitrange_t' r )
Does have common bits with another bitrange?

◆ init()

None init ( self,
'uint16' bit_ofs,
'uint16' size_in_bits )
Initialize offset and size to given values.

◆ inject()

bool inject ( self,
'void *' dst,
'bytevec_t const &' src,
bool is_mf )

◆ intersect()

None intersect ( self,
'bitrange_t' r )
Intersect two ranges.

◆ mask64()

'uint64' mask64 ( self)
Convert to mask of 64 bits.

◆ reset()

None reset ( self)
Make the bitrange empty.

◆ shift_down()

None shift_down ( self,
'uint' cnt )
Shift range down (left)

◆ shift_up()

None shift_up ( self,
'uint' cnt )
Shift range up (right)

◆ sub()

bool sub ( self,
'bitrange_t' r )
Subtract a bitrange.

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: