Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon
Function flags

Used by func_t::flags. More...

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 of the function.
 
#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_FUZZY_SP   0x00000800
 Function changes SP in untraceable way, for example: and esp, 0FFFFFFF0h.
 
#define FUNC_PROLOG_OK   0x00001000
 Prolog analysis has been performed by last SP-analysis.
 
#define FUNC_PURGED_OK   0x00004000
 'argsize' field has been validated. More...
 
#define FUNC_TAIL   0x00008000
 This is a function tail. More...
 
#define FUNC_LUMINA   0x00010000
 Function info is provided by Lumina.
 
#define FUNC_OUTLINE   0x00020000
 Outlined code, not a real function.
 
#define FUNC_REANALYZE   0x00040000
 Function frame changed, request to reanalyze the function after the last insn is analyzed. More...
 
#define FUNC_RESERVED   0x8000000000000000LL
 Reserved (for internal usage)
 

Detailed Description

Used by func_t::flags.

Macro Definition Documentation

◆ FUNC_NORET_PENDING

#define FUNC_NORET_PENDING   0x00200

Function 'non-return' analysis must be performed.

This flag is verified upon func_does_return()

◆ FUNC_SP_READY

#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

◆ FUNC_PURGED_OK

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

◆ FUNC_TAIL

#define FUNC_TAIL   0x00008000

This is a function tail.

Other bits must be clear (except FUNC_HIDDEN).

◆ FUNC_REANALYZE

#define FUNC_REANALYZE   0x00040000

Function frame changed, request to reanalyze the function after the last insn is analyzed.