#include <rz_core.h>
#include "core_private.h"
Go to the source code of this file.
|
| RZ_IPI void | rz_core_agraph_reset (RzCore *core) |
| |
| RZ_IPI void | rz_core_agraph_add_node (RzCore *core, const char *title, const char *body, int color) |
| |
| RZ_IPI void | rz_core_agraph_del_node (RzCore *core, const char *title) |
| |
| RZ_IPI void | rz_core_agraph_add_edge (RzCore *core, const char *un, const char *vn) |
| |
| RZ_IPI void | rz_core_agraph_del_edge (RzCore *core, const char *un, const char *vn) |
| |
| RZ_IPI void | rz_core_agraph_print_ascii (RzCore *core) |
| |
| RZ_IPI void | rz_core_agraph_print_tiny (RzCore *core) |
| |
| RZ_IPI void | rz_core_agraph_print_sdb (RzCore *core) |
| |
| RZ_IPI void | rz_core_agraph_print_interactive (RzCore *core) |
| |
| static void | agraph_print_node_dot (RzANode *n, void *user) |
| |
| static void | agraph_print_edge_dot (RzANode *from, RzANode *to, void *user) |
| |
| static void | agraph_print_edge (RzANode *from, RzANode *to, void *user) |
| |
| static void | agraph_print_node (RzANode *n, void *user) |
| |
| RZ_IPI void | rz_core_agraph_print_dot (RzCore *core) |
| |
| RZ_IPI void | rz_core_agraph_print_rizin (RzCore *core) |
| |
| RZ_IPI void | rz_core_agraph_print_json (RzCore *core) |
| |
| static void | agraph_print_node_gml (RzANode *n, void *user) |
| |
| static void | agraph_print_edge_gml (RzANode *from, RzANode *to, void *user) |
| |
| RZ_IPI void | rz_core_agraph_print_gml (RzCore *core) |
| |
◆ agraph_print_edge()
| static void agraph_print_edge |
( |
RzANode * |
from, |
|
|
RzANode * |
to, |
|
|
void * |
user |
|
) |
| |
|
static |
Definition at line 129 of file cagraph.c.
RZ_API int rz_cons_printf(const char *format,...)
static struct sockaddr static addrlen static backlog const void static flags void struct sockaddr from
static struct sockaddr static addrlen static backlog const void static flags void struct sockaddr socklen_t static fromlen const void const struct sockaddr to
References from, rz_cons_printf(), and to.
Referenced by rz_core_agraph_print_rizin().
◆ agraph_print_edge_dot()
| static void agraph_print_edge_dot |
( |
RzANode * |
from, |
|
|
RzANode * |
to, |
|
|
void * |
user |
|
) |
| |
|
static |
◆ agraph_print_edge_gml()
| static void agraph_print_edge_gml |
( |
RzANode * |
from, |
|
|
RzANode * |
to, |
|
|
void * |
user |
|
) |
| |
|
static |
◆ agraph_print_node()
| static void agraph_print_node |
( |
RzANode * |
n, |
|
|
void * |
user |
|
) |
| |
|
static |
Definition at line 133 of file cagraph.c.
135 int len = strlen(
n->body);
137 if (
len > 0 &&
n->body[
len - 1] ==
'\n') {
static static sync static getppid static getegid const char static filename char static len const char char static bufsiz static mask static vfork const void static prot static getpgrp const char static swapflags cmd
RZ_API void Ht_() free(HtName_(Ht) *ht)
RZ_API char * rz_base64_encode_dyn(const ut8 *bin, size_t sz)
RZ_API char * rz_str_newf(const char *fmt,...) RZ_PRINTF_CHECK(1
References cmd, free(), len, n, rz_base64_encode_dyn(), and rz_str_newf().
Referenced by rz_core_agraph_print_rizin().
◆ agraph_print_node_dot()
| static void agraph_print_node_dot |
( |
RzANode * |
n, |
|
|
void * |
user |
|
) |
| |
|
static |
Definition at line 112 of file cagraph.c.
116 rz_cons_printf(
"\"%s\" [URL=\"%s\", color=\"lightgray\", label=\"%s\"]\n",
117 n->title,
n->title,
n->title);
119 rz_cons_printf(
"\"%s\" [URL=\"%s\", color=\"lightgray\", label=\"%s\\n%s\"]\n",
120 n->title,
n->title,
n->title,
label);
return strdup("=SP r13\n" "=LR r14\n" "=PC r15\n" "=A0 r0\n" "=A1 r1\n" "=A2 r2\n" "=A3 r3\n" "=ZF zf\n" "=SF nf\n" "=OF vf\n" "=CF cf\n" "=SN or0\n" "gpr lr .32 56 0\n" "gpr pc .32 60 0\n" "gpr cpsr .32 64 0 ____tfiae_________________qvczn\n" "gpr or0 .32 68 0\n" "gpr tf .1 64.5 0 thumb\n" "gpr ef .1 64.9 0 endian\n" "gpr jf .1 64.24 0 java\n" "gpr qf .1 64.27 0 sticky_overflow\n" "gpr vf .1 64.28 0 overflow\n" "gpr cf .1 64.29 0 carry\n" "gpr zf .1 64.30 0 zero\n" "gpr nf .1 64.31 0 negative\n" "gpr itc .4 64.10 0 if_then_count\n" "gpr gef .4 64.16 0 great_or_equal\n" "gpr r0 .32 0 0\n" "gpr r1 .32 4 0\n" "gpr r2 .32 8 0\n" "gpr r3 .32 12 0\n" "gpr r4 .32 16 0\n" "gpr r5 .32 20 0\n" "gpr r6 .32 24 0\n" "gpr r7 .32 28 0\n" "gpr r8 .32 32 0\n" "gpr r9 .32 36 0\n" "gpr r10 .32 40 0\n" "gpr r11 .32 44 0\n" "gpr r12 .32 48 0\n" "gpr r13 .32 52 0\n" "gpr r14 .32 56 0\n" "gpr r15 .32 60 0\n" "gpr r16 .32 64 0\n" "gpr r17 .32 68 0\n")
References free(), n, rz_cons_printf(), and strdup().
Referenced by rz_core_agraph_print_dot().
◆ agraph_print_node_gml()
| static void agraph_print_node_gml |
( |
RzANode * |
n, |
|
|
void * |
user |
|
) |
| |
|
static |
◆ rz_core_agraph_add_edge()
◆ rz_core_agraph_add_node()
Definition at line 12 of file cagraph.c.
RZ_API RzANode * rz_agraph_add_node_with_color(const RzAGraph *g, const char *title, const char *body, int color)
RZ_API ut8 * rz_base64_decode_dyn(const char *in, int len)
RZ_API char * rz_str_append(char *ptr, const char *string)
#define RZ_STR_ISEMPTY(x)
RZ_API char * rz_str_replace(char *str, const char *key, const char *val, int g)
RZ_API bool rz_str_startswith(RZ_NONNULL const char *str, RZ_NONNULL const char *needle)
Checks if a string starts with a specifc sequence of characters (case sensitive)
References b, color, free(), rz_core_t::graph, rz_agraph_add_node_with_color(), rz_base64_decode_dyn(), rz_str_append(), RZ_STR_ISEMPTY, rz_str_replace(), rz_str_startswith(), and strdup().
Referenced by cmd_agraph_node().
◆ rz_core_agraph_del_edge()
◆ rz_core_agraph_del_node()
◆ rz_core_agraph_print_ascii()
Definition at line 65 of file cagraph.c.
RZ_API void rz_agraph_set_title(RzAGraph *g, const char *title)
RZ_API void rz_agraph_print(RzAGraph *g)
RZ_API ut64 rz_config_get_i(RzConfig *cfg, RZ_NONNULL const char *name)
RZ_API RZ_BORROW const char * rz_config_get(RzConfig *cfg, RZ_NONNULL const char *name)
References rz_ascii_graph_t::can, rz_cons_canvas_t::color, rz_core_t::config, rz_core_t::graph, rz_cons_canvas_t::linemode, rz_agraph_print(), rz_agraph_set_title(), rz_config_get(), and rz_config_get_i().
Referenced by cmd_analysis_graph(), and rz_core_agraph_print().
◆ rz_core_agraph_print_dot()
Definition at line 147 of file cagraph.c.
149 rz_cons_printf(
"digraph code {\nrankdir=LR;\noutputorder=edgesfirst\ngraph [bgcolor=azure];\n"
150 "edge [arrowhead=normal, color=\"#3030c0\" style=bold weight=2];\n"
151 "node [fillcolor=white, style=filled shape=box "
152 "fontname=\"%s\" fontsize=\"8\"];\n",
RZ_API void rz_agraph_foreach_edge(RzAGraph *g, RAEdgeCallback cb, void *user)
RZ_API void rz_agraph_foreach(RzAGraph *g, RzANodeCallback cb, void *user)
static void agraph_print_edge_dot(RzANode *from, RzANode *to, void *user)
static void agraph_print_node_dot(RzANode *n, void *user)
References agraph_print_edge_dot(), agraph_print_node_dot(), rz_core_t::config, rz_core_t::graph, NULL, rz_agraph_foreach(), rz_agraph_foreach_edge(), rz_config_get(), and rz_cons_printf().
Referenced by rz_core_agraph_print().
◆ rz_core_agraph_print_gml()
◆ rz_core_agraph_print_interactive()
| RZ_IPI void rz_core_agraph_print_interactive |
( |
RzCore * |
core | ) |
|
Definition at line 88 of file cagraph.c.
91 eprintf(
"This graph contains no nodes\n");
RZ_API int rz_core_visual_graph(RzCore *core, RzAGraph *g, RzAnalysisFunction *_fcn, int is_interactive)
RZ_API RzANode * rz_agraph_get_first_node(const RzAGraph *g)
RZ_API void rz_agraph_set_curnode(RzAGraph *g, RzANode *a)
static void update_seek(RzConsCanvas *can, RzANode *n, int force)
RZ_API RzConfigNode * rz_config_set_i(RzConfig *cfg, RZ_NONNULL const char *name, const ut64 i)
RZ_API bool rz_cons_enable_mouse(const bool enable)
RZ_API bool rz_cons_is_interactive(void)
RZ_API void rz_cons_show_cursor(int cursor)
RZ_API bool rz_core_seek(RzCore *core, ut64 addr, bool rb)
Seek to addr.
ut64(WINAPI *w32_GetEnabledXStateFeatures)()
References rz_core_t::config, eprintf, rz_ascii_graph_t::force_update_seek, rz_core_t::graph, rz_ascii_graph_t::layout, rz_ascii_graph_t::need_set_layout, rz_ascii_graph_t::need_update_dim, NULL, rz_core_t::offset, rz_agraph_get_first_node(), rz_agraph_set_curnode(), rz_agraph_set_title(), rz_config_get(), rz_config_get_i(), rz_config_set_i(), rz_cons_enable_mouse(), rz_cons_is_interactive(), rz_cons_show_cursor(), rz_core_seek(), rz_core_visual_graph(), update_seek(), and ut64().
Referenced by dot_trace_traverse(), rz_core_agraph_print(), and rz_core_visual_graph().
◆ rz_core_agraph_print_json()
Definition at line 164 of file cagraph.c.
RZ_API void rz_agraph_print_json(RzAGraph *g, PJ *pj)
RZ_API void rz_cons_println(const char *str)
RZ_API PJ * pj_k(PJ *j, const char *k)
RZ_API PJ * pj_end(PJ *j)
RZ_API const char * pj_string(PJ *pj)
RZ_API void pj_free(PJ *j)
References rz_core_t::graph, pj_a(), pj_end(), pj_free(), pj_k(), pj_new(), pj_o(), pj_string(), rz_agraph_print_json(), and rz_cons_println().
Referenced by rz_core_agraph_print().
◆ rz_core_agraph_print_rizin()
◆ rz_core_agraph_print_sdb()
◆ rz_core_agraph_print_tiny()
◆ rz_core_agraph_reset()