Function chunk related functions

// Get a function chunk attribute
//       ea     - any address in the chunk
//       attr   - one of: FUNCATTR_START, FUNCATTR_END
//                        FUNCATTR_OWNER, FUNCATTR_REFQTY
// returns: desired attribute or -1

long get_fchunk_attr(long ea, long attr);

// Set a function chunk attribute // ea - any address in the chunk // attr - nothing defined yet // value - desired bg color (RGB) // returns: 0 if failed, 1 if success

success set_fchunk_attr(long ea, long attr, long value);

// Get a function chunk referer // ea - any address in the chunk // idx - referer index (0..get_fchunk_attr(FUNCATTR_REFQTY)) // returns: referer address or BADADDR

long get_fchunk_referer(long ea, long idx);

// Get next function chunk // ea - any address // returns: the starting address of the next // function chunk or BADADDR // This function enumerates all chunks of all functions in the database

long get_next_fchunk(long ea);

// Get previous function chunk // ea - any address // returns: the starting address of the previous // function chunk or BADADDR // This function enumerates all chunks of all functions in the database

long get_prev_fchunk(long ea);

// Append a function chunk to the function // funcea - any address in the function // ea1, ea2 - boundaries of a function tail to add. // If a chunk exists at the specified addresses, // it must have exactly the specified boundaries // returns: 0 if failed, 1 if success

success append_func_tail(long funcea, long ea1, long ea2);

// Remove a function chunk from the function // funcea - any address in the function // ea1 - any address in the function chunk to remove // returns: 0 if failed, 1 if success

success remove_fchunk(long funcea, long tailea);

// Change the function chunk owner // tailea - any address in the function chunk // funcea - the starting address of the new owner // returns: 0 if failed, 1 if success // The new owner must already have the chunk appended before the call

success set_tail_owner(long tailea, long funcea);

// Get the first function chunk of the specified function // funcea - any address in the function // returns: the function entry point or BADADDR // This function returns the first (main) chunk of the specified function

long first_func_chunk(long funcea);

// Get the next function chunk of the specified function // arguments: funcea - any address in the function // tailea - any address in the current chunk // returns: the starting address of the next // function chunk or BADADDR // This function returns the next chunk of the specified function

long next_func_chunk(long funcea, long tailea);

Index | Previous topic | Next topic