IDA SDK
|
Describes a program segment.
Inherits range_t.
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 | |
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 | |
Public Member Functions | |
segment_t (void) | |
Constructor. | |
bool | use32 (void) const |
Use 32 bit segment addressing? | |
bool | use64 (void) const |
Use 64 bit segment addressing? | |
int | abits (void) const |
Get number of address bits. | |
int | abytes (void) const |
Get number of address bytes. | |
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 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) |
|
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.
|
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.
uval_t segment_t::orgbase |
this field is IDP dependent.
you may keep your information about the segment here
uchar segment_t::bitness |
Number of bits in the segment addressing.
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.
default segment register values.
first element of this array keeps information about value of processor_t::reg_first_sreg
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.