| IDA SDK

Public Attributes | List of all members
sreg_range_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 sreg_range_t ranges so that a new sreg_range_t range is started at each segment register change point. The kernel deletes sreg_range_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 range_t.

## Public Attributes
sel_t | val
| segment register value
uchar | tag
| Segment register range tags
Public Attributes inherited from range_t
ea_t | start_ea
| start_ea included
ea_t | end_ea
| end_ea excluded

## Additional Inherited Members
Public Member Functions inherited from range_t
| range_t (ea_t ea1=0, ea_t ea2=0)
bool | contains (ea_t ea) const
| Compare two range_t instances, based on the start_ea. More...
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 ()
| Set start_ea, end_ea to 0.
bool | empty () const
| Is the size of the range_t <= 0?
asize_t | size () 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...

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

- segregs.hpp