IDA C++ SDK 9.2
Loading...
Searching...
No Matches
region_info_t Struct Reference

Address ranges that can be loaded into the database. More...

#include <dscu.h>

Public Member Functions

void swap (region_info_t &r)
 region name (e.g., __text). Not unique
range_t get_range () const
bool operator== (const region_info_t &r) const
bool operator!= (const region_info_t &r) const

Public Attributes

ea_t start = BADADDR
asize_t size = 0
 Coordinates in address space.
region_type_t type = rt_invalid
 Size in bytes.
union { 
   int   image_index = -1 
   int   branch_island_number 
 for rt_image More...
}; 
 Region type.
char name [40] = { 0 }

Detailed Description

Address ranges that can be loaded into the database.

Regions have the following properties:

  • regions that don't belong to an image (i.e., islands, mappings, unknown regions, GOTs), can be loaded individually
  • regions belonging to an image, can not be loaded individually: they have/ relationships with one another, and loading them individually would prevent the right scaffolding/plumbing to be put into place
  • regions belonging to an image, have contiguous indexes. However,
  • regions belonging to an image, do not need to have contiguous address ranges.
  • in fact, they can even be spread across the entire cache's address range
  • (that is why retrieving the "range" of an image, makes no sense: even though its image in the DSC file is contiguous, its individual segments/sections can go anywhere. Thus, we operate at a rt_image_entity-level, and there's no rt_image.)

Member Function Documentation

◆ swap()

void region_info_t::swap ( region_info_t & r)
inline

region name (e.g., __text). Not unique

◆ get_range()

range_t region_info_t::get_range ( ) const
inline

◆ operator==()

bool region_info_t::operator== ( const region_info_t & r) const
inline

◆ operator!=()

bool region_info_t::operator!= ( const region_info_t & r) const
inline

Member Data Documentation

◆ start

ea_t region_info_t::start = BADADDR

◆ size

asize_t region_info_t::size = 0

Coordinates in address space.

◆ type

region_type_t region_info_t::type = rt_invalid

Size in bytes.

◆ image_index

int region_info_t::image_index = -1

◆ branch_island_number

int region_info_t::branch_island_number

for rt_image

◆ [union]

union { ... } region_info_t

Region type.

image number or branch island number

◆ name

char region_info_t::name[40] = { 0 }

The documentation for this struct was generated from the following file:
  • /Users/geoffrey/ida-sdk/src/include/dscu.h