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
retrieve function flags
     ea - any address belonging to the function
returns: -1 - function doesn't exist
         otherwise returns the flags FUNC_...

#define get_func_flags(ea) get_func_attr(ea, FUNCATTR_FLAGS)

#define FUNC_NORET 0x00000001 // function doesn't return #define FUNC_FAR 0x00000002 // far function #define FUNC_LIB 0x00000004 // library function #define FUNC_STATIC 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 #define FUNC_THUNK 0x00000080 // thunk (jump) function #define FUNC_BOTTOMBP 0x00000100 // BP points to the bottom of the stack frame #define FUNC_NORET_PENDING 0x00000200 // 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_FUZZY_SP 0x00000800 // Function changes SP in untraceable way, // for example: and esp, 0FFFFFFF0h #define FUNC_PROLOG_OK 0x00001000 // Prolog analysis has be performed // by last SP-analysis #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) #define FUNC_LUMINA 0x00010000 // Function info is provided by Lumina #define FUNC_OUTLINE 0x00020000 // Outlined code, not a real function

Index | Previous topic | Next topic