IDA C++ SDK 9.2
Loading...
Searching...
No Matches
qflow_chart_ea_t Class Reference

A flow chart for a function (ea-based, no func_t pointers). More...

#include <gdl.hpp>

Inheritance diagram for qflow_chart_ea_t:
cancellable_graph_t gdl_graph_t

Public Types

typedef qvector< qbasic_block_tblocks_t

Public Member Functions

 DECLARE_FC_HELPER (friend) qstring title
idaapi qflow_chart_ea_t (void)
idaapi qflow_chart_ea_t (const char *_title, ea_t _func_ea, ea_t _ea1, ea_t _ea2, int _flags)
virtual ~qflow_chart_ea_t ()
void idaapi create (const char *_title, ea_t _func_ea, ea_t _ea1, ea_t _ea2, int _flags)
void idaapi create (const char *_title, const rangevec_t &ranges, int _flags)
void idaapi append_to_flowchart (ea_t ea1, ea_t ea2)
void idaapi refresh (void)
fc_block_type_t calc_block_type (size_t blknum) const
bool is_ret_block (size_t blknum) const
bool is_noret_block (size_t blknum) const
virtual void idaapi print_node_attributes (FILE *fp, int n) const override
virtual int idaapi nsucc (int node) const override
virtual int idaapi npred (int node) const override
virtual int idaapi succ (int node, int i) const override
virtual int idaapi pred (int node, int i) const override
virtual char *idaapi get_node_label (char *iobuf, int iobufsize, int n) const override
virtual int idaapi size (void) const override
bool idaapi print_names (void) const
Public Member Functions inherited from cancellable_graph_t
virtual ~cancellable_graph_t ()
bool idaapi check_cancel (void) const
Public Member Functions inherited from gdl_graph_t
 DEFINE_MEMORY_ALLOCATION_FUNCS () virtual ~gdl_graph_t()
virtual void idaapi print_graph_attributes (FILE *fp) const
virtual bool idaapi print_node (FILE *fp, int n) const
virtual bool idaapi print_edge (FILE *fp, int i, int j) const
virtual int idaapi node_qty (void) const
virtual bool idaapi exists (int node) const
virtual int idaapi entry (void) const
virtual int idaapi exit (void) const
virtual bool idaapi empty (void) const
virtual bgcolor_t idaapi get_node_color (int n) const
virtual bgcolor_t idaapi get_edge_color (int i, int j) const
void idaapi gen_gdl (FILE *fp) const
void idaapi gen_gdl (const char *file) const
size_t idaapi nedge (int node, bool ispred) const
int idaapi edge (int node, int i, bool ispred) const
int idaapi front (void)
node_iterator idaapi begin (void) const
node_iterator idaapi end (void) const
bool idaapi path_exists (int m, int n) const
void idaapi gen_dot (FILE *fp) const
void idaapi gen_dot (const char *file) const

Public Attributes

range_t bounds
 overall bounds of the qflow_chart_ea_t instance
ea_t func_ea = BADADDR
 start address of the function (BADADDR for range-based charts)
int flags = 0
 flags. See Flow chart flags
blocks_t blocks
 basic blocks
int nproper = 0
 number of basic blocks belonging to the specified range
Public Attributes inherited from cancellable_graph_t
bool cancelled = false
char padding [3]

Detailed Description

A flow chart for a function (ea-based, no func_t pointers).

This is the ea-based replacement for qflow_chart_t. Instead of storing a func_t pointer (which can be invalidated), it stores the function's start address as a stable handle.

Member Typedef Documentation

◆ blocks_t

Constructor & Destructor Documentation

◆ qflow_chart_ea_t() [1/2]

idaapi qflow_chart_ea_t::qflow_chart_ea_t ( void )
inline

◆ qflow_chart_ea_t() [2/2]

idaapi qflow_chart_ea_t::qflow_chart_ea_t ( const char * _title,
ea_t _func_ea,
ea_t _ea1,
ea_t _ea2,
int _flags )
inline

◆ ~qflow_chart_ea_t()

virtual qflow_chart_ea_t::~qflow_chart_ea_t ( )
inlinevirtual

Member Function Documentation

◆ DECLARE_FC_HELPER()

qflow_chart_ea_t::DECLARE_FC_HELPER ( friend )

◆ create() [1/2]

void idaapi qflow_chart_ea_t::create ( const char * _title,
ea_t _func_ea,
ea_t _ea1,
ea_t _ea2,
int _flags )
inline

◆ create() [2/2]

void idaapi qflow_chart_ea_t::create ( const char * _title,
const rangevec_t & ranges,
int _flags )
inline

◆ append_to_flowchart()

void idaapi qflow_chart_ea_t::append_to_flowchart ( ea_t ea1,
ea_t ea2 )
inline

◆ refresh()

void idaapi qflow_chart_ea_t::refresh ( void )
inline

◆ calc_block_type()

fc_block_type_t qflow_chart_ea_t::calc_block_type ( size_t blknum) const
inline

◆ is_ret_block()

bool qflow_chart_ea_t::is_ret_block ( size_t blknum) const
inline

◆ is_noret_block()

bool qflow_chart_ea_t::is_noret_block ( size_t blknum) const
inline

◆ print_node_attributes()

virtual void idaapi qflow_chart_ea_t::print_node_attributes ( FILE * fp,
int n ) const
inlineoverridevirtual

Reimplemented from gdl_graph_t.

◆ nsucc()

virtual int idaapi qflow_chart_ea_t::nsucc ( int node) const
inlineoverridevirtual

Implements gdl_graph_t.

◆ npred()

virtual int idaapi qflow_chart_ea_t::npred ( int node) const
inlineoverridevirtual

Implements gdl_graph_t.

◆ succ()

virtual int idaapi qflow_chart_ea_t::succ ( int node,
int i ) const
inlineoverridevirtual

Implements gdl_graph_t.

◆ pred()

virtual int idaapi qflow_chart_ea_t::pred ( int node,
int i ) const
inlineoverridevirtual

Implements gdl_graph_t.

◆ get_node_label()

virtual char *idaapi qflow_chart_ea_t::get_node_label ( char * iobuf,
int iobufsize,
int n ) const
inlineoverridevirtual

Reimplemented from gdl_graph_t.

◆ size()

virtual int idaapi qflow_chart_ea_t::size ( void ) const
inlineoverridevirtual

Implements gdl_graph_t.

◆ print_names()

bool idaapi qflow_chart_ea_t::print_names ( void ) const
inline

Member Data Documentation

◆ bounds

range_t qflow_chart_ea_t::bounds

overall bounds of the qflow_chart_ea_t instance

◆ func_ea

ea_t qflow_chart_ea_t::func_ea = BADADDR

start address of the function (BADADDR for range-based charts)

◆ flags

int qflow_chart_ea_t::flags = 0

flags. See Flow chart flags

◆ blocks

blocks_t qflow_chart_ea_t::blocks

basic blocks

◆ nproper

int qflow_chart_ea_t::nproper = 0

number of basic blocks belonging to the specified range


The documentation for this class was generated from the following file:
  • /Users/geoffrey/ida-sdk/src/include/gdl.hpp