IDA SDK

- Main Page
- Header Files
- Classes
- Modules

Macros
Function flags

## Detailed Description

Used by func_t::flags.

## Macros
#define | FUNC_NORET 0x00000001
| Function doesn't return.
#define | FUNC_FAR 0x00000002
| Far function.
#define | FUNC_LIB 0x00000004
| Library function.
#define | FUNC_STATICDEF 0x00000008
| Static function.
#define | FUNC_FRAME 0x00000010
| Function uses frame pointer (BP)
#define | FUNC_USERFAR 0x00000020
| User has specified far-ness. More...
#define | FUNC_HIDDEN 0x00000040
| A hidden function chunk.
#define | FUNC_THUNK 0x00000080
| Thunk (jump) function.
#define | FUNC_BOTTOMBP 0x00000100
| BP points to the bottom of the stack frame.
#define | FUNC_NORET_PENDING 0x00200
| Function 'non-return' analysis must be performed. More...
#define | FUNC_SP_READY 0x00000400
| SP-analysis has been performed. More...
#define | FUNC_PURGED_OK 0x00004000
| 'argsize' field has been validated. More...
#define | FUNC_TAIL 0x00008000
| This is a function tail. More...

## Macro Definition Documentation

#define FUNC_USERFAR 0x00000020

User has specified far-ness.

of the function

#define FUNC_NORET_PENDING 0x00200

Function 'non-return' analysis must be performed.

This flag is verified upon func_does_return()

#define FUNC_SP_READY 0x00000400

SP-analysis has been performed.

If this flag is on, the stack change points should not be not modified anymore. Currently this analysis is performed only for PC

#define FUNC_PURGED_OK 0x00004000

'argsize' field has been validated.

If this bit is clear and 'argsize' is 0, then we do not known the real number of bytes removed from the stack. This bit is handled by the processor module.

#define FUNC_TAIL 0x00008000

This is a function tail.

Other bits must be clear (except FUNC_HIDDEN).