get_func_attr

get a function attribute
     ea   - any address belonging to the function
     attr - one of FUNCATTR_... constants
returns: -1 - error
         otherwise returns the attribute value

long get_func_attr(long ea, long attr);

#ifndef __EA64__ #ifndef __X64__ #define FUNCATTR_START 0 // readonly: function start address #define FUNCATTR_END 4 // readonly: function end address #define FUNCATTR_FLAGS 8 // function flags #define FUNCATTR_FRAME 12 // readonly: function frame id #define FUNCATTR_FRSIZE 16 // readonly: size of local variables #define FUNCATTR_FRREGS 20 // readonly: size of saved registers area #define FUNCATTR_ARGSIZE 24 // readonly: number of bytes purged from the stack #define FUNCATTR_FPD 28 // frame pointer delta #define FUNCATTR_COLOR 32 // function color code #define FUNCATTR_OWNER 12 // readonly: chunk owner (valid only for tail chunks) #define FUNCATTR_REFQTY 16 // readonly: number of chunk parents (valid only for tail chunks) #else // X64 #define FUNCATTR_START 0 #define FUNCATTR_END 4 #define FUNCATTR_FLAGS 8 #define FUNCATTR_FRAME 16 #define FUNCATTR_FRSIZE 20 #define FUNCATTR_FRREGS 24 #define FUNCATTR_ARGSIZE 28 #define FUNCATTR_FPD 32 #define FUNCATTR_COLOR 36 #define FUNCATTR_OWNER 16 #define FUNCATTR_REFQTY 20 #endif #else // EA64 #ifndef __X64__ #define FUNCATTR_START 0 #define FUNCATTR_END 8 #define FUNCATTR_FLAGS 16 #define FUNCATTR_FRAME 20 #define FUNCATTR_FRSIZE 28 #define FUNCATTR_FRREGS 36 #define FUNCATTR_ARGSIZE 40 #define FUNCATTR_FPD 48 #define FUNCATTR_COLOR 56 #define FUNCATTR_OWNER 20 #define FUNCATTR_REFQTY 28 #else // X64 #define FUNCATTR_START 0 #define FUNCATTR_END 8 #define FUNCATTR_FLAGS 16 #define FUNCATTR_FRAME 24 #define FUNCATTR_FRSIZE 32 #define FUNCATTR_FRREGS 40 #define FUNCATTR_ARGSIZE 48 #define FUNCATTR_FPD 56 #define FUNCATTR_COLOR 64 #define FUNCATTR_OWNER 24 #define FUNCATTR_REFQTY 32 #endif #endif

Index | Previous topic | Next topic