Base class used by graphs in IDA.
|
idaapi | mutable_graph_t (uval_t id) |
|
idaapi | mutable_graph_t (const abstract_graph_t &g, uval_t id) |
|
| DEFINE_VIRTUAL_DTOR (mutable_graph_t) |
|
int idaapi | size (void) const |
|
int idaapi | node_qty (void) const |
|
void idaapi | clear (void) |
|
bool idaapi | empty (void) const |
|
bool idaapi | exists (int node) const |
|
int idaapi | get_node_representative (int node) |
|
int idaapi | get_node_group (int node) const |
|
void idaapi | set_node_group (int node, int group) |
|
bool idaapi | is_deleted_node (int node) const |
|
void idaapi | set_deleted_node (int node) |
|
bool idaapi | is_subgraph_node (int node) const |
|
bool idaapi | is_dot_node (int node) const |
|
bool idaapi | is_group_node (int node) const |
|
bool idaapi | is_displayable_node (int node) const |
|
bool idaapi | is_simple_node (int node) const |
|
bool idaapi | is_collapsed_node (int node) const |
|
bool idaapi | is_uncollapsed_node (int node) const |
|
bool idaapi | is_visible_node (int node) const |
|
bool idaapi | groups_are_present (void) const |
|
int idaapi | get_first_subgraph_node (int group) const |
|
int idaapi | get_next_subgraph_node (int group, int current) const |
|
void idaapi | insert_visible_nodes (intvec_t &nodes, int group) const |
|
void idaapi | insert_simple_nodes (intvec_t &nodes, int group) const |
|
bool idaapi | check_new_group (const intvec_t &nodes, intvec_t &refined) |
|
int idaapi | create_group (const intvec_t &nodes) |
|
bool idaapi | delete_group (int group) |
|
bool idaapi | change_group_visibility (int group, bool expand) |
|
bool idaapi | change_visibility (const intvec_t &nodes, bool expand) |
|
void idaapi | fix_collapsed_group_edges (void) |
|
int idaapi | nsucc (int b) const |
|
int idaapi | npred (int b) const |
|
int idaapi | succ (int b, int i) const |
|
int idaapi | pred (int b, int i) const |
|
const intvec_t &idaapi | succset (int b) const |
|
const intvec_t &idaapi | predset (int b) const |
|
void idaapi | reset (void) |
|
virtual bool idaapi | redo_layout (void) GCC_PUREVIRT |
|
virtual void idaapi | resize (int n) GCC_PUREVIRT |
|
virtual int idaapi | add_node (const rect_t *r) GCC_PUREVIRT |
|
virtual ssize_t idaapi | del_node (int n) GCC_PUREVIRT |
|
virtual bool idaapi | add_edge (int i, int j, const edge_info_t *ei) GCC_PUREVIRT |
|
virtual bool idaapi | del_edge (int i, int j) GCC_PUREVIRT |
|
virtual bool idaapi | replace_edge (int i, int j, int x, int y) GCC_PUREVIRT |
|
virtual bool idaapi | refresh (void) GCC_PUREVIRT |
|
virtual mutable_graph_t *idaapi | clone (void) const GCC_PUREVIRT |
|
const rect_t &idaapi | nrect (int n) const |
|
rect_t &idaapi | nrect (int n) |
|
virtual edge_info_t *idaapi | get_edge (edge_t e) GCC_PUREVIRT |
|
virtual bool idaapi | set_nrect (int n, const rect_t &r) GCC_PUREVIRT |
|
virtual bool idaapi | set_edge (edge_t e, const edge_info_t *ei) GCC_PUREVIRT |
|
bool idaapi | create_digraph_layout (void) |
|
void idaapi | del_custom_layout (void) |
|
bool idaapi | get_custom_layout (void) |
|
void idaapi | set_custom_layout (void) const |
|
bool idaapi | get_graph_groups (void) |
|
void idaapi | set_graph_groups (void) const |
|
virtual ea_t idaapi | calc_group_ea (const intvec_t &) |
|
point_t idaapi | calc_center_of (const intvec_t &nodes) const |
|
void idaapi | move_to_same_place (const intvec_t &collapsing_nodes, point_t p) |
|
void idaapi | move_grouped_nodes (const intvec_t &groups, const mutable_graph_t *ng) |
|
virtual bool idaapi | is_user_graph () |
|
void idaapi | clear (void) |
|
void idaapi | dump_graph (const char *header) const |
|
bool idaapi | calc_bounds (rect_t *r) |
|
bool idaapi | calc_fitting_params (const rect_t &area, graph_location_info_t *gli, double max_zoom) |
|
int idaapi | for_all_nodes_edges (graph_visitor_t &nev, bool visit_nodes=true) |
|
const edge_info_t *idaapi | get_edge_ports (edge_t e, point_t &s, point_t &d) const |
|
void idaapi | add_node_edges (edgevec_t &dlist, int node) |
|
const rect_t &idaapi | nrect (int n) const |
|
const edge_info_t *idaapi | get_edge (edge_t e) const |
|
bool idaapi | create_tree_layout (void) |
|
bool idaapi | create_circle_layout (point_t p, int radius) |
|
bool idaapi | create_polar_tree_layout (point_t p, int radius) |
|
bool idaapi | create_radial_tree_layout (point_t p, int radius) |
|
bool idaapi | create_orthogonal_layout (void) |
|
void | set_callback (hook_cb_t *_callback, void *_ud) |
|
ssize_t | vgrcall (int code, va_list va) |
|
ssize_t | grcall (int code,...) |
|
virtual char *idaapi | get_node_label (char *buf, int, int) const |
|
virtual void idaapi | print_graph_attributes (FILE *) const |
|
virtual bool idaapi | print_node (FILE *, int) const |
|
virtual bool idaapi | print_edge (FILE *, int, int) const |
|
virtual void idaapi | print_node_attributes (FILE *, int) const |
|
virtual int idaapi | entry (void) const |
|
virtual int idaapi | exit (void) const |
|
virtual bgcolor_t idaapi | get_node_color (int) const |
|
virtual bgcolor_t idaapi | get_edge_color (int, int) 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 |
|
|
void idaapi | get_connected_components (intvec_t &entries) const |
| Returns one entry point for each connected component.
|
|
int idaapi | calc_longest_pathes (const node_set_t &entries, intvec_t &tops, int row_height) const |
| Find longest paths from the entries. More...
|
|
void idaapi | move_nodes_down (intvec_t &tops, const node_ordering_t &post, int first_reverser_node, int row_height) const |
| Move entry nodes down as much as possible.
|
|
void idaapi | create_graph_row_info (const intvec_t &tops, graph_row_info_t &gri, int graph_height) const |
| Create graph row info from 'tops'.
|
|
void idaapi | calc_row_heights (graph_row_info_t &gri) const |
| Calculate height of each row.
|
|
void idaapi | minimize_crossings (graph_row_info_t &gri) const |
| Minimize crossings.
|
|
void idaapi | set_x_coords (const graph_row_info_t &gri, const node_set_t &selfrefs, int first_added_node) |
| Calculate x coords of all nodes.
|
|
void idaapi | gather_edge_segments (const graph_row_info_t &gri, edge_segs_vec_t &ges) const |
| Gather information about all edge segments.
|
|
void idaapi | make_rect_edges (graph_row_info_t &gri, const edge_segs_vec_t &ges, int first_reverser_node) |
| Make all edges rectangular.
|
|
void idaapi | assign_edge_ports (const graph_row_info_t &gri, const node_set_t &selfrefs) |
| Assign ports to edges.
|
|
void idaapi | recalc_edge_widths (const edgeset_t &back_edges, const edge_infos_t &self_edges) |
| Recalculate width of all edges.
|
|
void idaapi | clear_layout_info (void) |
| Clear layout information in the graph.
|
|
void idaapi | depth_first (node_ordering_t *pre, node_ordering_t *post, edge_typer_t *et) const |
|
void idaapi | create_spanning_tree (edge_typer_t *et, node_set_t *entries, edgeset_t *back_edges, node_ordering_t *pre, node_ordering_t *post) const |
|
void idaapi | tree_layout (edge_typer_t &et, const node_set_t &entries) |
|
bool idaapi | path_back (const array_of_node_set_t &domin, int m, int n) const |
| Is there a path from M to N which terminates with a back edge to N?
|
|
bool idaapi | path_back (edge_typer_t &et, int m, int n) const |
|
int idaapi | visit_nodes (int node, graph_node_visitor_t &gv) const |
| Visit nodes starting from 'node', depth first.
|
|
int idaapi | visit_paths (int node, graph_path_visitor_t &gv) const |
| Visit all possible paths starting from 'node'. More...
|
|