State-of-the-art binary code analysis tools

Detailed Description

Used by debugger modules to report memory are information to IDA kernel.

It is ok to return empty fields if information is not available.

Inherits range_t.

Public Attributes

qstring name
 Memory range name.
 
qstring sclass
 Memory range class name.
 
ea_t sbase
 Segment base (meaningful only for segmented architectures, e.g. More...
 
uchar bitness
 Number of bits in segment addresses (0-16bit, 1-32bit, 2-64bit)
 
uchar perm
 Memory range permissions (0-no information): see segment.hpp.
 
- Public Attributes inherited from range_t
ea_t start_ea
 start_ea included
 
ea_t end_ea
 end_ea excluded
 

Public Member Functions

bool operator== (const memory_info_t &r) const
 
bool operator != (const memory_info_t &r) const
 
- Public Member Functions inherited from range_t
 range_t (void)
 Constructor.
 
 range_t (ea_t ea1, ea_t ea2)
 Constructor.
 
int compare (const range_t &r) const
 Compare two range_t instances, based on the start_ea.
 
bool operator== (const range_t &r) const
 Compare two range_t's with '=='.
 
bool operator != (const range_t &r) const
 Compare two range_t's with '!='.
 
bool operator > (const range_t &r) const
 Compare two range_t's with '<'.
 
bool operator< (const range_t &r) const
 Compare two range_t's with '>'.
 
bool contains (ea_t ea) const
 Is 'ea' in the address range?
 
bool contains (const range_t &r) const
 Is every ea in 'r' also in this range_t?
 
bool overlaps (const range_t &r) const
 Is there an ea in 'r' that is also in this range_t?
 
void clear (void)
 Set start_ea, end_ea to 0.
 
bool empty (void) const
 Is the size of the range_t <= 0?
 
asize_t size (void) const
 Get end_ea - start_ea.
 
void intersect (const range_t &r)
 Assign the range_t to the intersection between the range_t and 'r'.
 
void extend (ea_t ea)
 Ensure that the range_t includes 'ea'.
 
size_t print (char *buf, size_t bufsize) const
 Print the range_t. More...
 

Member Data Documentation

◆ sbase

ea_t memory_info_t::sbase

Segment base (meaningful only for segmented architectures, e.g.

16-bit x86) The base is specified in paragraphs (i.e. shifted to the right by 4)


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