| IDA SDK

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 (undefine all default segment registers)
#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 ranges of the created segment. More...
#define | ADDSEG_NOAA 0x0040
| do not mark new segment for auto-analysis
#define | ADDSEG_IDBENC 0x0080
| 'name' and 'sclass' are given in the IDB encoding; non-ASCII bytes will be decoded accordingly

## Macro Definition Documentation

## ◆ ADDSEG_NOTRUNC

#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.

## ◆ ADDSEG_FILLGAP

#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 cannot hold more than ~1000 gaps.

## ◆ ADDSEG_SPARSE

#define ADDSEG_SPARSE 0x0020

use sparse storage method for the new ranges of the created segment.

please note that the ranges that were already enabled before creating the segment will not change their storage type.