IDA SDK

- Main Page
- Header Files
- Classes
- Modules

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Attributes | List of all members
segreg_area_t Struct Reference

## Detailed Description

The values of the segment registers are kept as address ranges.

The segment register does not change its value within one address range. The processor module finds segment register change points and splits segreg_area_t areas so that a new segreg_area_t area is started at each segment register change point. The kernel deletes segreg_area_t if an instruction is converted back to unexplored bytes.

So, we have information about a segment register by keeping information about the range of addresses where segment register does not change the value.

Note that each segment has information about the default values of the segment registers. This information is used if the value of a segment register could not be determined.

Inherits area_t.

## Public Attributes
sel_t | val
| segment register value
uchar | tag
| Segment register area tags
Public Attributes inherited from area_t
ea_t | startEA
| startEA included
ea_t | endEA
| endEA excluded

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

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

- srarea.hpp