IDA SDK

- Main Page
- Header Files
- Classes
- Modules

Macros
Additional flags for the location

## Detailed Description

All 32-bits of the main flags (bytes.hpp) are used up.

Additional flags keep more information about addresses. DO NOT use these flags directly unless there is absolutely no way. They are too low level and may corrupt the database.

## Macros
#define | AFL_LINNUM 0x00000001L
| has line number info
#define | AFL_USERSP 0x00000002L
| user-defined SP value
#define | AFL_PUBNAM 0x00000004L
| name is public (inter-file linkage)
#define | AFL_WEAKNAM 0x00000008L
| name is weak
#define | AFL_HIDDEN 0x00000010L
| the item is hidden completely
#define | AFL_MANUAL 0x00000020L
| the instruction/data is specified by the user
#define | AFL_NOBRD 0x00000040L
| the code/data border is hidden
#define | AFL_ZSTROFF 0x00000080L
| display struct field name at 0 offset when displaying an offset. More...
#define | AFL_BNOT0 0x00000100L
| the 1st operand is bitwise negated
#define | AFL_BNOT1 0x00000200L
| the 2nd operand is bitwise negated
#define | AFL_LIB 0x00000400L
| item from the standard library. More...
#define | AFL_TI 0x00000800L
| has typeinfo? (NSUP_TYPEINFO)
#define | AFL_TI0 0x00001000L
| has typeinfo for operand 0? (NSUP_OPTYPES)
#define | AFL_TI1 0x00002000L
| has typeinfo for operand 1? (NSUP_OPTYPES+1)
#define | AFL_LNAME 0x00004000L
| has local name too (FF_NAME should be set)
#define | AFL_TILCMT 0x00008000L
| has type comment? (such a comment may be changed by IDA)
#define | AFL_LZERO0 0x00010000L
| toggle leading zeroes for the 1st operand
#define | AFL_LZERO1 0x00020000L
| toggle leading zeroes for the 2nd operand
#define | AFL_COLORED 0x00040000L
| has user defined instruction color?
#define | AFL_TERSESTR 0x00080000L
| terse structure variable display?
#define | AFL_SIGN0 0x00100000L
| code: toggle sign of the 1st operand
#define | AFL_SIGN1 0x00200000L
| code: toggle sign of the 2nd operand
#define | AFL_NORET 0x00400000L
| for imported function pointers: doesn't return. More...
#define | AFL_FIXEDSPD 0x00800000L
| sp delta value is fixed by analysis. More...
#define | AFL_ALIGNFLOW 0x01000000L
| the previous insn was created for alignment purposes only
#define | AFL_USERTI 0x02000000L
| the type information is definitive. More...
#define | AFL_RETFP 0x04000000L
| function returns a floating point value
#define | AFL_USEMODSP 0x08000000L
| insn modifes SP and uses the modified value More...
#define | AFL_NOTCODE 0x10000000L
| autoanalysis should not create code here

## Macro Definition Documentation

#define AFL_ZSTROFF 0x00000080L

display struct field name at 0 offset when displaying an offset.

example:

    offset somestruct.field_0

if this flag is clear, then

    offset somestruct

#define AFL_LIB 0x00000400L

item from the standard library.

low level flag, is used to set FUNC_LIB of func_t

#define AFL_NORET 0x00400000L

for imported function pointers: doesn't return.

this flag can also be used for any instruction which halts or finishes the program execution

#define AFL_FIXEDSPD 0x00800000L

sp delta value is fixed by analysis.

should not be modified by modules

#define AFL_USERTI 0x02000000L

the type information is definitive.

(comes from the user or type library)

#define AFL_USEMODSP 0x08000000L

insn modifes SP and uses the modified value

example: pop [rsp+N]