IDA SDK

- Main Page
- Header Files
- Classes
- Modules

Macros
Add segment flags
Segments » Segment manipulation functions

## Detailed Description

Passed as 'flags' parameter to add_segm_ex()

## Macros
#define | ADDSEG_NOSREG 0x0001
| set all default segment register values to BADSEL More...
#define | ADDSEG_OR_DIE 0x0002
| qexit() if can't add a segment
#define | ADDSEG_NOTRUNC 0x0004
| don't truncate the new segment at the beginning of the next segment if they overlap. More...
#define | ADDSEG_QUIET 0x0008
| silent mode, no "Adding segment..." in the messages window
#define | ADDSEG_FILLGAP 0x0010
| fill gap between new segment and previous one. More...
#define | ADDSEG_SPARSE 0x0020
| use sparse storage method for the new segment
#define | ADDSEG_NOAA 0x0040
| do not mark new segment for auto-analysis

## Macro Definition Documentation

#define ADDSEG_NOSREG 0x0001

set all default segment register values to BADSEL

(undefine all default segment registers)

#define ADDSEG_NOTRUNC 0x0004

don't truncate the new segment at the beginning of the next segment if they overlap.

destroy/truncate old segments instead.

#define ADDSEG_FILLGAP 0x0010

fill gap between new segment and previous one.

i.e. if such a gap exists, and this gap is less than 64K, then fill the gap by extending the previous segment and adding .align directive to it. This way we avoid gaps between segments. too many gaps lead to a virtual array failure. it can not hold more than ~1000 gaps.