IDA C++ SDK 9.2
Loading...
Searching...
No Matches
Segment structure

Describes a program segment Call set_segment_info() to apply modifications to the database. More...

Topics

 Segment flags
 Used by segment_t::flags.
 Segment types
 Used by segment_t::type.
 Segment permissions
 Used by segment_t::perm.
 Segment alignment codes
 Used by segment_t::align.
 Segment combination codes
 Used by segment_t::comb.

Classes

class  segment_t
 Describes a program segment. More...
class  lock_segment
 Helper class to lock a segment pointer so it stays valid. More...
class  lock_segment_ea
 Helper class to lock a segment by address so it stays valid. More...

Functions

 CASSERT (sizeof(segment_t)==192)
bool is_visible_segm (segment_t *s)
 See #SFL_HIDDEN.
bool is_finally_visible_segm (segment_t *s)
 See #SFL_HIDDEN, #SCF_SHHID_SEGM.
idaman DEPRECATED void ida_export set_visible_segm (segment_t *s, bool visible)
 See #SFL_HIDDEN.
idaman void ida_export set_visible_segment (ea_t ea, bool visible)
 Set segment visibility by address.
idaman bool ida_export is_spec_segm (uchar seg_type)
 Has segment a special type?
idaman bool ida_export is_spec_ea (ea_t ea)
 Does the address belong to a segment with a special type?
idaman DEPRECATED void ida_export lock_segm (const segment_t *segm, bool lock)
 Lock segment pointer.
idaman void ida_export lock_segment_by_ea (ea_t ea, bool lock)
 Lock segment by address.
idaman DEPRECATED bool ida_export is_segm_locked (const segment_t *segm)
 Is a segment pointer locked?
idaman bool ida_export is_segment_locked (ea_t ea)
 Is segment locked by address?

Detailed Description

Describes a program segment Call set_segment_info() to apply modifications to the database.

Definition of segment_t and related functions

Function Documentation

◆ CASSERT()

CASSERT ( sizeof(segment_t) = =192)

◆ is_visible_segm()

bool is_visible_segm ( segment_t * s)
inline

See #SFL_HIDDEN.

◆ is_finally_visible_segm()

bool is_finally_visible_segm ( segment_t * s)
inline

See #SFL_HIDDEN, #SCF_SHHID_SEGM.

◆ set_visible_segm()

idaman DEPRECATED void ida_export set_visible_segm ( segment_t * s,
bool visible )

See #SFL_HIDDEN.

Deprecated
Use segment_info_t::set_visible_segm() or set_visible_segment() for safer access.

◆ set_visible_segment()

idaman void ida_export set_visible_segment ( ea_t ea,
bool visible )

Set segment visibility by address.

Parameters
eaany address within the segment
visibletrue to make visible, false to hide

◆ is_spec_segm()

idaman bool ida_export is_spec_segm ( uchar seg_type)

Has segment a special type?

(#SEG_XTRN, #SEG_GRP, #SEG_ABSSYM, #SEG_COMM)

◆ is_spec_ea()

idaman bool ida_export is_spec_ea ( ea_t ea)

Does the address belong to a segment with a special type?

(#SEG_XTRN, #SEG_GRP, #SEG_ABSSYM, #SEG_COMM)

Parameters
ealinear address

◆ lock_segm()

idaman DEPRECATED void ida_export lock_segm ( const segment_t * segm,
bool lock )

Lock segment pointer.

Deprecated
Use lock_segment_by_ea() for safer access. Locked pointers are guaranteed to remain valid until they are unlocked. Ranges with locked pointers cannot be deleted or moved.

◆ lock_segment_by_ea()

idaman void ida_export lock_segment_by_ea ( ea_t ea,
bool lock )

Lock segment by address.

Locked segments cannot be deleted or moved.

Parameters
eaany address within the segment
locktrue to lock, false to unlock

◆ is_segm_locked()

idaman DEPRECATED bool ida_export is_segm_locked ( const segment_t * segm)

Is a segment pointer locked?

Deprecated
Use is_segment_locked() for safer access.

◆ is_segment_locked()

idaman bool ida_export is_segment_locked ( ea_t ea)

Is segment locked by address?

Parameters
eaany address within the segment
Returns
true if the segment is locked