Describes a program segment. More...
#include <segment.hpp>
Inherits range_t.
Public Member Functions | |
bool | is_16bit (void) const |
Is a 16-bit segment? | |
bool | is_32bit (void) const |
Is a 32-bit segment? | |
bool | is_64bit (void) const |
Is a 64-bit segment? | |
int | abits (void) const |
Get number of address bits. | |
int | abytes (void) const |
Get number of address bytes. | |
Segment flag: ORG directive | |
See SFL_COMORG | |
bool | comorg (void) const |
void | set_comorg (void) |
void | clr_comorg (void) |
Segment flag: orgbase | |
See SFL_OBOK | |
bool | ob_ok (void) const |
void | set_ob_ok (void) |
void | clr_ob_ok (void) |
Segment flag: hidden | |
See SFL_HIDDEN | |
bool | is_visible_segm (void) const |
void | set_visible_segm (bool visible) |
Segment flag: debugger segment | |
See SFL_DEBUG | |
bool | is_debugger_segm (void) const |
void | set_debugger_segm (bool debseg) |
Segment flag: loader segment | |
See SFL_LOADER | |
bool | is_loader_segm (void) const |
void | set_loader_segm (bool ldrseg) |
Segment flag: hide segment type | |
See SFL_HIDETYPE | |
bool | is_hidden_segtype (void) const |
void | set_hidden_segtype (bool hide) |
![]() | |
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... | |
Public Attributes | |
uval_t | name |
use get/set_segm_name() functions | |
uval_t | sclass |
use get/set_segm_class() functions | |
uval_t | orgbase |
this field is IDP dependent. More... | |
uchar | align |
Segment alignment codes | |
uchar | comb |
Segment combination codes | |
uchar | perm |
Segment permissions (0 means no information) | |
uchar | bitness |
Number of bits in the segment addressing. More... | |
ushort | flags |
Segment flags | |
![]() | |
ea_t | start_ea |
start_ea included | |
ea_t | end_ea |
end_ea excluded | |
Segment flag: header segment | |
See SFL_HEADER | |
sel_t | sel |
segment selector - should be unique. More... | |
sel_t | defsr [SREG_NUM] |
default segment register values. More... | |
uchar | type |
segment type (see Segment types). More... | |
bgcolor_t | color |
the segment color | |
bool | is_header_segm (void) const |
void | set_header_segm (bool on) |
bool | is_ephemeral_segm (void) const |
Ephemeral segments are not analyzed automatically (no flirt, no functions unless required, etc). More... | |
bool | update (void) |
Update segment information. More... | |
segment_t (void) | |
Constructor. | |
Detailed Description
Describes a program segment.
Member Function Documentation
◆ is_ephemeral_segm()
|
inline |
Ephemeral segments are not analyzed automatically (no flirt, no functions unless required, etc).
Most likely these segments will be destroyed at the end of the debugging session unless the user changes their status.
◆ update()
|
inline |
Update segment information.
You must call this function after modification of segment characteristics. Note that not all fields of segment structure may be modified directly, there are special functions to modify some fields.
- Returns
- success
Member Data Documentation
◆ orgbase
uval_t segment_t::orgbase |
this field is IDP dependent.
you may keep your information about the segment here
◆ bitness
uchar segment_t::bitness |
Number of bits in the segment addressing.
- 0: 16 bits
- 1: 32 bits
- 2: 64 bits
◆ sel
sel_t segment_t::sel |
segment selector - should be unique.
You can't change this field after creating the segment. Exception: 16bit OMF files may have several segments with the same selector, but this is not good (no way to denote a segment exactly) so it should be fixed in the future.
◆ defsr
sel_t segment_t::defsr[SREG_NUM] |
default segment register values.
first element of this array keeps information about value of processor_t::reg_first_sreg
◆ type
uchar segment_t::type |
segment type (see Segment types).
The kernel treats different segment types differently. Segments marked with '*' contain no instructions or data and are not declared as 'segments' in the disassembly.
The documentation for this class was generated from the following file:
Generated by